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

时间:2014-07-01 03:53:27

标签: excel vba

我现在的主要问题是我想根据细胞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循环)时,它能够完美地完成它,但是我无法将它放到列表中。

非常感谢您的帮助!

2 个答案:

答案 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)