每当我尝试运行此代码时,我在if语句中得到了该错误,我不知道为什么,请建议rcolor和info定义并且工作完美我只是选择不将它们放在这里,因为它们相当很长,不会以任何方式影响问题 M8来自不同的子
Sub Schedule(M8 As Variant)
If eTime = "900" Then
retry1:
If IsEmpty(Cells(8, M8).Value) And IsEmpty(Cells(12, M8).Value) = True Then
Sheets("Schedule").Cells(8, M8).Value = info
Sheets("Schedule").Range(Cells(9, M8), Cells(12, M8)).Value = ","
Sheets("Schedule").Range(Cells(8, M8), Cells(12, M8)).Interior.Color = rcolor
Sheets("Schedule").Range(Cells(8, M8), Cells(12, M8)).BorderAround Weight:=xlMedium
M8 = M8 + 1
Else
M8 = M8 + 1
GoTo retry1
End If
我已经被困在这个问题很长一段时间了,并且希望得到任何帮助,thnx提前。
答案 0 :(得分:2)
正如@findwindow所提到的,您需要为所有对象(范围)分配父级,以确保代码按照您的意愿执行完全。
您可以使用With
块整齐地执行此操作。否则,如果您没有指定要使用的确切对象,代码将只查看最后一个活动对象,这可能不是您想要的。
With Sheets("Schedule")
If IsEmpty(.Cells(8, M8).Value) And IsEmpty(.Cells(12, M8).Value) Then
.Cells(8, M8).Value = info
.Range(.Cells(9, M8), .Cells(12, M8)).Value = ","
.Range(.Cells(8, M8), .Cells(12, M8)).Interior.Color = rcolor
.Range(.Cells(8, M8), .Cells(12, M8)).BorderAround Weight:=xlMedium
M8 = M8 + 1
Else
M8 = M8 + 1
GoTo retry1
End If
End WIth