『Formula1の書き方について』(栗栄太)
H列に
("","1","2") 以外が入力されている場合に
セルの色を変更したいのですが
「プロシージャの呼び出し、または引数が不正です。」と
エラーが表示されます。
どのように記述すればよいのでしょうか?
set col = Range("H:H").FormatConditions.Add(Type:=xlExpression, Formula1:="=R[0]C[0]<>"""" and R[0]C[0]<>""1"" and R[0]C[0]<>""2""")
col.Interior.COLOR = &HFF8080
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
手作業をマクロ記録したほうが手っ取り早いと思います。 (xyz) 2025/11/14(金) 10:38:33
>手作業をマクロ記録したほうが手っ取り早いと思います。 365で条件付き書式の設定を記録したところ
Sub Macro1() ' ' Macro1 Macro '
'
Columns("H:H").Select
End Sub
しか記録されなかった。
で、条件付き書式の条件部分はセルに記述する関数のルールになるので "=AND(R[0]C[0]<>"""" , R[0]C[0]<>""1"" , R[0]C[0]<>""2"")" になるかと。 (ねむねむ) 2025/11/14(金) 10:51:22
マクロ記録されませんでしたか? 手元の365では、こんなのが記録されました。 Sub Macro1() ' ' Macro1 Macro '
'
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=AND(H1<>"""",H1<>""1"",H1<>""2"")"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
色はテキトーに赤にしてますが。
(xyz) 2025/11/14(金) 11:03:24
あれ? と思ってもう一度試したところ、今度は記録された。
で前回と今回の違いがなにか、いろいろ試したところ、前回は栗栄太さんの挙げたマクロを 標準モジュールに張り付けた状態で(SubとEndを前後につけて)マクロの記録を実行して今回は新規のブックで行っていた。
試しにもう一度新規ブックの標準モジュールに栗栄太さんのマクロを貼り付けて記録をしたところ セル選択しか記録されなかった。
なんなんだろう? (ねむねむ) 2025/11/14(金) 11:27:41
ねむねむさん コメントありがとうございました。 私のところではその後何回か同様のことをためしてみましたが、おっしゃる事象は再現しませんでした。 こちらでは気づけない環境的な要素があるのでしょう。 余り時間も割けないのでここまでとさせていただきます。 そうした事象がありうることをtake note しておきます。
(xyz) 2025/11/14(金) 11:46:06
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.