2015-11-07 29 views
0

當我試圖顏色取決於if語句不同的行一起移動。例如:「範圍」對象必須添加一個新行

' # 1 

If (test = True) Then 

    Worksheets("sheet1").Range("A1:J1").Interior.Color = varColor1 

Else 

    Worksheets("sheet1").Range("A1:J1").Interior.Color = varColor2 

End If 


    ' # 2 

If (test2 = True) Then 

    Worksheets("sheet1").Range("A2:J2").Interior.Color = varColor1 

Else 

    Worksheets("sheet1").Range("A2:J2").Interior.Color = varColor2 

End If 

    ' # 3 

    '...etc 

我的問題是,如果我在Excel工作表添加新行,「範圍」的值變爲不正確。舉例來說,如果我加入A和B的程序將色彩新插入的行(因爲這個新插入的行變爲B)和實際乙行之間的行,我要的顏色現在是C.我怎麼能保證,當行被添加,正確的行仍然是彩色的。 Ofcourse我可以手動更改「範圍」值,但是我有很多人因此將需要很長時間來改變這一切,必須有另一種方式來做到這一點...

回答

2

如果你定義一個名爲範圍(按Ctrl當您插入的範圍內,一列-F3)XL將擴大的定義。

Worksheets("sheet1").Range("test1_range").Interior.Color = varColor1 

要小心,如果您在指定範圍的左邊緣插入一列 - 它將不會包含在命名範圍內。