2014-12-02 51 views
0

我想條件格式從VBA使用下面的語句添加到一個範圍:使用VBA變量設置條件格式表達式?

r.FormatConditions.Add Type:=xlExpression, Formula1:="=AND($AYQ4<=D$3;$AYR4>=D$3)" 

現在的問題是,而不是AYQ,4,d,3和艾爾我有以下VBA變量:

lDatesAndHeadersRow = 3 
the first row of range r = 4 

the first column of range r = D 
lStartDateCol = column number of AYQ 
lEndDateCol = column number of AYR 

有什麼辦法,我用我的VBA的變量,而不是正常的單元格引用下面的表達式Formula1:="=AND($AYQ4<=D$3;$AYR4>=D$3)"

回答

0

不,你不能。變量只存在於它們被定義的宏的上下文中,一旦在單元格中被複制,它們就變成了字符串。

+0

謝謝回答!將變量複製到單元格中並不是我想要做的。我編輯了我的文章,並希望更清楚。 – user1283776 2014-12-02 09:23:17

+0

對不起,我還是不明白。你有一個範圍,想知道它的第一行和第一列是什麼,這樣你可以在公式中使用它們嗎? – 2014-12-02 09:41:02

+0

我想使用VBA將條件格式設置爲範圍。我知道我可以寫出Formula1:=「= AND($ AYQ4 <=D$3;$AYR4> = D $ 3)」。但我不想這樣做,因爲所有這些列可能會改變。因此,我不想使用VBA變量lDatesAndHeadersRow,r.row,r.column,lStartDateCol和lEndDateCol對列和行進行硬編碼。但我無法弄清楚如何做到這一點。 – user1283776 2014-12-02 10:34:04