【发布时间】:2016-07-18 20:50:28
【问题描述】:
使用: Excel 2010
目标:我想说“如果 D14 等于 A,则用这个 RGB 填充这个范围;否则,如果 D14 等于 B,那么用这个 RGB 填充这个范围”。如果重要,此脚本位于 Private Sub 中。
问题:我返回此错误:“运行时错误'1004':应用程序定义或对象定义错误”。奇怪的是,它确实有效并改变了范围的填充颜色,但在正确执行此操作后 仍然出错。
我尝试过的:这是我到目前为止一直在玩的代码,但不知道如何解决
With ThisWorkbook.Sheets("Dashboard").Range("A1:I1")
If ThisWorkbook.Sheets("Dashboard").Range("D14").Value = "A" Then
.Interior.Color = RGB(0, 180, 210)
ElseIf ThisWorkbook.Sheets("Dashboard").Range("D14").Value = "B" Then
.Interior.Color = RGB(51, 57, 64) 'The debugger says the issue is on this line
End If
End With
【问题讨论】:
-
条件格式不是更容易吗?
-
@Comintern 你是对的,但我也在改变同一个工作表上形状的颜色,这必须通过 VBA 完成(据我所知),所以我想保留这一切都在 VBA 脚本中。对于形状,脚本工作得很好。但无法使其适合该范围。
-
您的代码在我运行时运行良好(Excel 2007)。有深灰色和浅蓝色。实际代码中会不会有错字?
-
我很好奇你是不是这样写的。如果您尝试
With ThisWorkbook.Sheets("Dashboard") | Select Case .Range("D14").Value | Case is "A" : .Range("A1:I1").Interior.Color = RGB(0, 180, 210) ...等会怎样?