2017-06-03 13 views
0

我試圖用變量運行宏如下:application.run與run方法函數內設置的變量

Range("A1").Application.Run (SetConditionalFormatingSub,ConditionB="=""O-BETTER-T-PRV""",ConditionW = "=""O-WORSE-T-PRV""",ConditionM = "=""O-MIXED-T-PRV""") 

但我得到一個錯誤如下:預期 編譯錯誤 =

仍然是excel編碼的新手,無法弄清楚似乎是什麼問題。

希望你們能幫忙!提前致謝。

回答

0

嘗試:

Range("A1").Application.Run "SetConditionalFormatingSub", "='O-BETTER-T-PRV'", "='O-WORSE-T-PRV'", "='O-MIXED-T-PRV'" 

注:

  • 不要用括號括調用子時();
  • 你不能用Run方法使用子參數的名字(比如ConditionW) - 它只接受位置參數(它們在宏中定義的順序);
  • 你不能在引號內使用引號。相反,使用單引號,例如「'你好'」,而不是「」你好「」
  • 我不認爲你需要一個Application.Run方法爲您的任務。您可以直接使用FormatConditions.Add方法爲您設置的範圍條件格式:

FormatConditions.Add Method

+0

謝謝!我的其他宏也幫助了很多。 – Shah

+0

我從來沒有聽說過可以在字符串變量中使用的字符的限制,即使通過「Application.Run」傳遞給子例程。 (實際上我只是嘗試了'Application.Run「xyz」,「a是」「a」「」',並且字符串正確地通過了,因爲'a是「a」')。所以OP應該沒有理由不要使用諸如「」=「」O-BETTER-T-PRV「」「''的參數 – YowE3K