Sub change2()
Dim area As Range
Dim seconds As Range
Dim Teller As Integer
Dim number As Integer
Set area = Range("M6:M79")
number = 70
For Teller = 1 To number
If seconds.Cells(Teller) > 44 Then
seconds.Cells(Teller).Font.Color = vbRed
Else
seconds.Cells(Teller).Font.Color = vbBlue
End If
Next
End Sub
我收到错误
对象变量或未设置块变量。
我相信我没有正确处理细胞,我希望它在细胞中循环,如果该区域中的数字小于44,则转为红色,否则变为蓝色。该区域的值为1至70
答案 0 :(得分:1)
您永远不会将seconds
分配给任何内容。
它引用Nothing
是导致运行时错误的原因。
答案 1 :(得分:1)
您的代码有很多错误:
seconds
放在Cells
前面时,您正在引用工作表。您需要Dim seconds As Worksheet
然后Set seconds = Sheets("Sheet Name")
Cells()
的正确语法是Cells(rowindex, colindex)
您的循环只有一个数字,我假设是行数,因此您需要使用seconds.Cells(Teller, NUMBER OF COLUMN)
Cells().Value
。因此,在定义seconds
变量的哪个工作表后,您的完整语法将为seconds.Cells(Teller, NUMBER OF COLUMN).Value > 44
area
变量?在您的代码中似乎没有任何用处。