[[20251114102030]] 『Formula1の書き方について』(栗栄太) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『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.