Selection.FormatConditions(1).StopIfTrue = False
Range("B4:B999").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=IF($A4<>"""",TRUE,)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
ExecuteExcel4Macro "(2,1,""""●""@"")"
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
但我重新呼叫巨集指令時,此段時程式碼會出現錯誤提醒:
ExecuteExcel4Macro "(2,1,""""●""@"")"
工作表的情況說明如下:
巨集指令存放在「模組」底下,但該格式變更是出現在特定的工作表,例如:SheetABC
網路上查詢過類似問題,似乎 ExecuteExcel4Macro 只能在自己的工作表中執行巨集指令?
那麼我應該如何撰寫「工作表、模組」之間的巨集呢?
因為主要執行巨集指令的是在 Sheet456 的工作表,會透過巨集指令來變更「SheetABC、Sheet456」兩個工作表的格式。
還請 Excel 專家們指導該如何修改,才能讓此段程式碼順利修改?
更新1:
@威遠 換上這個切換了工作表之後, 還是出現一樣的錯誤。
更新2:
@威遠 不好意思, 我大概懂您的意思了, 但因為我透過巨集錄製下來的, 整個在「格式化條件」中, 修改儲存格格式的巨集就是長這樣, 而出錯的那一段, 其實我只是想要把格式變成下面這樣: 原文字: ABCDEF 經過格式化條件判定符合條件的文字,會被格式化為: 格式化文字:● ABCDEF 也就是原本文字前面會多出「●」+「 (空格)」 所以我不太確定這一段巨集指令若要單獨被放到 Sheet456 工作表 和模組之間的關係該怎麼寫才對? 目前這一段, 全都還放在模組中, 我試著把全部放到 Sheet456 工作表直接呼叫, 也是一樣有錯誤。 若是要指定工作表的話, 我不知道該怎麼改寫那一小段, 我自己改完的, 都會出現型態錯誤。