Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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
Excel 动态vba范围选择器的正确语法_Excel_Vba - Fatal编程技术网

Excel 动态vba范围选择器的正确语法

Excel 动态vba范围选择器的正确语法,excel,vba,Excel,Vba,我的动态范围选择器有一些问题 我已经找到了一些其他的实现方法,但为了清晰起见,我无法找到这种范围选择方法,我真的很好奇为什么它不起作用: 作为测试,我想更改范围范围(B20:D25)的颜色 使用以下代码 Private Sub colortest() Dim ws as Worksheet: Set ws = Sheets("Sheet1") For i = 20 to 25 ws.Range("B" & i & &quo

我的动态范围选择器有一些问题

我已经找到了一些其他的实现方法,但为了清晰起见,我无法找到这种范围选择方法,我真的很好奇为什么它不起作用:

作为测试,我想更改范围
范围(B20:D25)
的颜色

使用以下代码

Private Sub colortest()
  Dim ws as Worksheet: Set ws = Sheets("Sheet1")

  For i = 20 to 25
    ws.Range("B" & i & ":D" & i).Interior.ColorIndex = RGB(166, 166, 166)
  Next i

End Sub
基本上,我希望根据索引(实际代码中的动态行索引,因此使用for循环的算法,我需要逐行进行,因为可以跳过一些行),然后用颜色填充范围

因此,预期的结果将是

我得到以下错误:


我想这与我不正确地使用
.Range(“Bi:Di”)
选择器有关。

选择器实际上工作正常

下标超出范围错误实际上是由于我试图将
.ColorIndex
属性与RGB颜色编码相结合而导致的

这条线应该是这样的:

ws.Range(“B”&i&“:D”&i).Interior.ColorIndex=15


ws.Range(“B”&i&“:D”&i).Interior.Color=RGB(166,166,166)
Interior.Color
。。。你把语法弄混了
ColorIndex
不使用RGB。该死的,你是对的,实际上超出范围的错误是由我使用RGB颜色编码引起的。所讨论的算法/语法是有效的。也许作为一个附带问题,有没有一种方法可以在
.ColorIndex
属性中使用RGB颜色?没有,但是为什么要使用颜色?啊,好的。我假设
.Color
属性的工作原理与css中的类似(换句话说就是字体颜色)。此页面可能不是完全最新的,但有很多示例