0
我正在研究一個相當大的VBA宏的一部分,它被設計用來在另一個單元格等於1時應用條件格式,以便單元格可以高亮顯示爲'selected'。 「
當生成這樣做的條件格式公式時,excel似乎會自動更改常量值 - 它讀取的所有值應該在第99行,並且在代碼中,但是Excel將公式更改爲=IF(B101=1,1,0)
爲第一個,然後=IF(B105=1,1,0)
爲下一個等等。
這些都是合併的單元格,所以我會假設excel試圖通過將公式向下偏移多少行來自動完成我的代碼。顯然,這是不希望的,有誰知道我怎麼能阻止這樣做的Excel?代碼的相關部分低於:VBA正在改變自己的常量值
For Each x In Range(crange)
condrow = 99
Range(Cells(coffset + 3, y + 1), Cells(coffset + 2 + currentdiv, y + 1)).FormatConditions.Delete
Cells(coffset + 3, y + 1).Value = x
selectform = "=IF(" & ConvertToLetter(Cells(coffset + 3, y + 1).Column) & CStr(condrow) & "=1,1,0)"
Range(Cells(coffset + 3, y + 1), Cells(coffset + 2 + currentdiv, y + 1)).Merge
Range(Cells(coffset + 3, y + 1), Cells(coffset + 2 + currentdiv, y + 1)).FormatConditions.Delete
Range(Cells(coffset + 3, y + 1), Cells(coffset + 2 + currentdiv, y + 1)).FormatConditions.Add Type:=xlExpression, Formula1:= _
"clashform"