基于(variables)单元格设置Excel填充

我现在的主要问题是,我想根据单元格I5-35中的内容来填充一系列的excel单元格(比方说K5到K35)。 这个数字对应于RGB数字(255)。

我刚刚进入VBA,所以我将不胜感激这里的任何input。 这是优秀的代码扔我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循环)时,它能够完美地完成这个任务,但是我无法顺利完成这个任务。

非常感谢您的帮助!

嗨,这是一个非常快速的修复,以实现你在做什么。 以下是我想到的:

 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作为一个范围。

你近了。 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)