Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Microsoft 365)
条件付き書式(表示形式の設定)のマクロ記述について
投稿日時: 22/10/18 23:11:06
投稿者: はるき

条件付き書式をマクロで設定しようとしていますが、うまくいきません。
書式の設定で、表示形式をユーザ定義とし、キーマクロでマクロを生成したものを
実行すると、エラーとなってしまいます。
 
Sub Macro1()
    Cells.FormatConditions.Delete
    Range("G12:G40").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$F12=""個"""
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    ExecuteExcel4Macro "(2,1,""#"" 個"""")" ←エラー発生
    Selection.FormatConditions(1).StopIfTrue = False
End Sub
 
エラーの種類は、実行時エラー1004で
この数式には問題があります・・・・・・
 
というエラーです。
 
条件付き書式のVBAによる設定は、表示形式の設定は初めてで、ExecuteExcel4Macroを
使用した設定方法は初めてなので、どう修正すればよいかが良く判りません。
アドバイスをよろしくお願いいたします。

回答
投稿日時: 22/10/19 05:12:11
投稿者: simple

不思議なマクロ記録ですね。
こんな感じでしょうか。

Sub test()
    Cells.FormatConditions.Delete   '常に必要とは限りません
    With Range("G12:G40").FormatConditions.Add(Type:=xlExpression, Formula1:="=$F12=""個""")
        .SetFirstPriority
        .NumberFormat = "#"" 個"""
        .StopIfTrue = False
    End With
End Sub

投稿日時: 22/10/19 05:51:07
投稿者: はるき

simpleさん、早速のアドバイス有難うございます。
頂いたマクロで確認いたしました。
希望の動作が確認できました。
有難うございます。
普通の書式設定のNumberFormatで良かったのですね。
なんで、あのようなキーマクロが生成されるのでしょう!?