编译错误:无效的限定符

时间:2015-04-30 14:52:20

标签: excel vba do-loops qualifiers

我正在尝试让我的程序运行2个工作簿和3个工作表。为我验证一些数字。

Sub Validate_Old_Data()

Dim DBLbrow As Double
Dim DBLAbrow As Double
Dim DBLBbrow As Double
Dim STRname As String
Dim INTcc As Integer
Dim CopyRange As Range

 DBLbrow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row

 Do While BDLbrow > 5

STRname = Range("B" & DBLbrow).Value
INTcc = Range("C" & DBLbrow).Value

Workbooks("Z:\Centralized Charges\Centralized Charges 2015\Forecast and Actuals\P3\Headcount Templates\P3 Centralized Charges Headcount Tracker (vs. 2015 Budget).xlsx").Activate

Worksheets(INTcc).Activate

DBLAbrow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row

    Do While DBLAbrow > 8

        If Range("B" & DBLAbrow).Value = STRname Then

            CopyRange = Range(DBLAbrow).Row.Copy

            Workbooks("Z:\Centralized Charges\Centralized Charges 2015\Forecast and Actuals\P3\Headcount Templates\Charges Headcount Tracker (vs. 2015 Budget).xlsm").activatae

            Worksheets(INTcc).activatae

            DBLBbrow = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row

            If Range("B" & DBLBbrow).Value = STRname Then

                Range(DBLbrow).Value = CopyRange

            Else

                DBLBbrow = DBLBbrow - 1

            End If

            Loop

        Else
            DBLAbrow = DBLAbrow - 1


        End If

        Loop

BDLbrow = BDLbrow - 1

End Sub

但是我收到无效限定符错误,有人可以解释原因吗?

1 个答案:

答案 0 :(得分:1)

编译和运行时错误总是突出显示问题所在。尝试运行代码以查看编译器将为您选择incorrect qualifier

enter image description here

那是Rows,而不是Row

只是添加一些有用的"直观的"这个糟糕的答案的信息,以便您将来可以得到类似问题的帮助。在开发过程中,您可以(叹气)成千上万的错误,这些错误通常分为两种类型(我会将此示例粘贴到VBA):

  • 编译错误:这意味着" Excel并不了解您所说的内容"。 例如,您使用的格式Row并不存在; Excel并不理解你对Row的意思并且拒绝开始。因此,代码甚至不会开始运行,你会得到一个白色的窗口,突出显示(如果可能的话)Excel没有理解的"字。这样你就可以解决它。
  • 运行时错误:这意味着" Excel确实理解了您所说的内容,但在某些时候他并不喜欢它。"例如,你写k = 2/0;你没有使用"难以理解的东西"对于Excel,但是当它必须执行除法时,它的堆栈会溢出并导致运行时错误。在这种情况下,你会得到一个带有方便按钮的灰色窗口,标有 Debug :按下它,黄色的代码行将突出显示,这是错误所在的行。

我很抱歉"技术不高"语言我曾经解释过这个,但我更倾向于直截了当。如果您想深入了解这一重要主题,请阅读this