如何解决:编译错误变量未定义?

问题描述 投票:0回答:1

我正在用 Excel 为我的团队创建值班名单。方法是,假设全年是一个工作簿,每个月都在一个单独的工作表上。到目前为止,我使用的是 Excel 给定的条件格式,但我必须为每个月/表一次又一次地重做。在列表中,我无法弄清楚如何简单地将它们复制到新工作表中。所以;我现在正在尝试创建一个简单的 WBA 代码,该代码适用于整个工作簿、每张工作表。当单元格中写入特定字母或数字时,我希望某些单元格填充定义的颜色。

我编写了这段代码,但现在遇到了标题中描述的问题。请您查看我的代码(我将其粘贴在下面)并帮助我解决它,或者如果您发现其中有任何其他错误,请告诉我:

Option Explicit

Sub EasyColors()

    Dim wb As Workbook
    Dim lrow As Long
    Dim rng As Range
    
    Set wb = ThisWorkbook

    With wb
        lrow = .Range(("C:AG") & .Rows.Count).End(xlUp).Row
                
        Set rng = .Range("C7:AG41")
    End With

    With rng
        .FormatConditions.Add Type:=xlCellValue, Operator:=xl.Equals, Formula1:="D"
        .FormatConditions.Add .Interior.Color = RGB(180, 198, 231)
    End With

End Sub
vba variables
1个回答
0
投票

查看

FormatConditions.Add
的文档:参数
Operator
必须是此处列出的值之一。

你只是在常数上有一个拼写错误。你写的是

Operator:=xl.Equals

,但一定是
Operator:=xlEqual

如果使用

Debug->Compile

,VBA编辑器将直接跳转到无效值。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.