-1

我试图让我的程序运行 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

但是我收到一个无效的限定符错误,有人可以解释为什么吗?

4

1 回答 1

1

编译和运行时错误总是伴随着突出问题所在。尝试运行代码以查看编译器将为您选择以下代码就足够了incorrect qualifier

在此处输入图像描述

那是Rows,不是Row

只是为这个糟糕的答案添加一些有用的“直观”信息,以便您将来在类似问题上得到帮助。在开发过程中,您可能会遇到(叹息)数千个错误,这些错误通常分为两种类型(我将把这个例子放在 VBA 中):

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

对于我用来解释这一点的“技术性差”的语言,我很抱歉,但我更希望你直截了当。如果您想深入了解这个重要主题,请阅读内容。

于 2015-04-30T15:27:59.973 回答