我现在的主要问题是我想根据细胞I5-35填充一系列excel细胞(让我们说K5到K35)。该数字对应于RGB数字(255个中的数字)。
我刚刚进入VBA,所以我很感激这里的任何输入。这是excel的代码给我一个424 - 对象所需的错误。
Sub Colors()
Dim index As Integer
index = 5
While index <= 35
colorVar = Worksheets("Pivot").Cells(index, "I").Value
cellActive = "K" & index
cellActive.Interior.Color = RGB(255, colorVar, colorVar)
index = index + 1
Wend
End Sub
当我让它运行一个单独的单元格(没有while循环)时,它能够完美地完成它,但是我无法将它放到列表中。
非常感谢您的帮助!
答案 0 :(得分:1)
嗨,这是一个非常快速的解决方案来实现你正在做的事情。以下是我提出的建议:
Sub Colors()
Dim index As Integer
index = 5
While index <= 35
colorVar = Worksheets("Pivot").Cells(index, "I").Value
Set cellActive = Range("K" & index)
cellActive.Interior.Color = RGB(255, colorVar, colorVar)
index = index + 1
Wend
End Sub
您的问题不是将cellActive
设置为范围。
答案 1 :(得分:0)
你很亲密。 Excel告诉您它没有对象来运行.Interior.Color。您只是给它文本,而不是列引用。如果您为循环中的第一次运行转换代码,它将如下所示:
K5.Interior.Color = RGB(255, colorVar, colorVar)
你想要的是什么
Range("K5").Interior.Color = RGB(255, colorVar, colorVar)
为此,您需要更改以下代码行:
Range(cellActive).Interior.Color = RGB(255, colorVar, colorVar)