嗨,我刚刚开始在Excel宏上工作。 请让我知道什么是错在下面的代码:简单的Excel宏
Sub color_red()
Dim range As range
For R = 1 To 20
If Cells(R, 1).Value = 1 Then range(R, R).Interior.ColorIndex = 3
Next R
End Sub
“对象变量或与块变量未设置”显示错误消息。 预先感谢您的指导。
嗨,我刚刚开始在Excel宏上工作。 请让我知道什么是错在下面的代码:简单的Excel宏
Sub color_red()
Dim range As range
For R = 1 To 20
If Cells(R, 1).Value = 1 Then range(R, R).Interior.ColorIndex = 3
Next R
End Sub
“对象变量或与块变量未设置”显示错误消息。 预先感谢您的指导。
您不能使用任何VBA的变量名称:关键字,函数,对象名称,集合名称等。尝试将变量名称从range
更改为rngTable
。
编辑后的附加信息写成该职位的不同领域的意见:
改变你的if
行代码为:
If Cells(R,1).Value = 1 Then Cells(R,1).EntireRow.Interior.ColorIndex =3
将颜色在R
行中的所有表列。为了给某个范围着色,例如在10列,你可以使用这条线,而不是你if
:
If Cells(R,1).Value = 1 Then Cells(R,1).Resize(1,10).Interior.ColorIndex =3
@KazJaw是正确的,你不能使用关键字作为变量名。但是在设置之前仍然使用range
或rngTable
变量。
您仍可以使用Range
变量,但为什么不使用与if语句中相同的寻址方式?
If Cells(r, 1).Value = 1 Then Cells(r, 1).Interior.ColorIndex = 3
否则,你将不得不使用它之前设置的范围对象:
Set rngTable = Cells(r, 1)
由于kazjaw ... !!! IF为例如。A1的细胞是= 1,则我想要的颜色整个行是第一这是我正在尝试的,因为我是初学者,请你让我知道我错在哪里 – user2165404 2013-03-28 10:25:55
我看到你仍然有这个代码的问题。请试试这个简单的子程序,这可能是你所需要的:
Public Sub ColorRowIf()
Dim r As Long
For r = 1 To 20
If Cells(r, 1).value = 1 Then
Cells(r, 1).EntireRow.Interior.ColorIndex = 3
End If
Next r
End Sub
也请注意,使用“细胞()”是不是一个很好的路要走,但我已经包括它的简单(如问)。 ''单元格()'将始终引用活动工作表单元格,可能并非总是如此。因此,您应该使用表单的完整引用(通过代码名称方法) - 因此在此示例中应该说明,例如:Sheet1.Cells(r,1).Value = 1。另外,请记住Sheet1不是选项卡名称,它是您在项目窗口中看到的代码名称。
感谢队友......! !它按我想要的方式工作。就像你说的我会用表格名称而不是单元格。 – user2165404 2013-03-28 13:04:02
我的荣幸:)如果您对任何答案感到满意,请将其标记为完整。谢谢 – 2013-03-28 22:02:21
我觉得很多人收集的事实是你的变量'R'没有被定义为666字节以外。
声明你将要使用的变量是为了让代码工作而做的重要事情。
您可以使用单元格功能代替范围。您必须参考工作表以了解使用范围。由于没有提到任何内容,因此它会抛出Object变量或未设置块变量。
Sub color_red()
Dim r As Integer
For r = 1 To 20
If Cells(r, 1).Value = 1 Then Cells(r, r).Interior.ColorIndex = 3
Next r
末次
感谢您的答复...!我改变了变量的名字,但得到了同样的错误:( – user2165404 2013-03-28 06:48:15
请把你的'if'在这里注释或者添加(!)改进后的代码在这个问题中我想检查你用'range(R,R )',其不可能是'rngTable(R,R)' – 2013-03-28 06:50:35
子COLOR_RED() 昏暗rngTable作为范围 对于R = 1至20 如果细胞(R,1)。价值= 1然后rngTable(“R: R“)。Interior.ColorIndex = 3 下一个R 结束子 – user2165404 2013-03-28 10:23:21