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

时间:2018-05-30 09:14:10

标签: excel-vba vba excel

我的动态范围选择器存在一些问题。

我已经找到了其他一些实施方法,但为了清楚起见,我无法找到所描述的范围选择方法,而且我真的很好奇为什么会这样做#&# 39;不工作:

作为测试,我想更改范围Range(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

基本上我想基于索引逐行(我的实际代码中的动态行索引,因此这个algorthytm与for循环,我需要一行一行,因为有些行可以跳过)然后用颜色填充范围。

所以预期的结果是

enter image description here

我收到以下错误:

enter image description here

我认为它与我错误地使用.Range("Bi:Di")选择器有关。

1 个答案:

答案 0 :(得分:0)

选择器实际上工作正常。

下标超出范围错误实际上是由于我尝试将public class HotkeyPromoter implements ActionPromoter { @Override public List<AnAction> promote(List<AnAction> actions, DataContext dataContext) { AnAction action = ContainerUtil.findInstance(actions, HotkeyAction.class); return (action != null ? Collections.singletonList(action) : Collections.emptyList()); } } 属性与RGB颜色编码相结合而引起的。

该行应该看起来像:

.ColorIndex

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