Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba &引用;“范围”;对象在添加新行时必须移动_Vba_Excel - Fatal编程技术网

Vba &引用;“范围”;对象在添加新行时必须移动

Vba &引用;“范围”;对象在添加新行时必须移动,vba,excel,Vba,Excel,我试图根据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 Works

我试图根据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时),而我要上色的实际B行现在是C。如何确保添加行时,正确的行仍然上色。当然,我可以手动更改“范围”值,但我有很多值,因此更改所有值需要很长时间,必须有另一种方法…如果定义命名范围(Ctrl-F3),如果在该范围内插入列,XL将扩展定义

Worksheets("sheet1").Range("test1_range").Interior.Color = varColor1
如果在命名范围的左边缘插入列,请小心,因为它不会包含在命名范围中