我正在尝试让我的程序运行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
但是我收到无效限定符错误,有人可以解释原因吗?
答案 0 :(得分:1)
编译和运行时错误总是突出显示问题所在。尝试运行代码以查看编译器将为您选择incorrect qualifier
:
那是Rows
,而不是Row
。
只是添加一些有用的"直观的"这个糟糕的答案的信息,以便您将来可以得到类似问题的帮助。在开发过程中,您可以(叹气)成千上万的错误,这些错误通常分为两种类型(我会将此示例粘贴到VBA):
Row
并不存在; Excel并不理解你对Row
的意思并且拒绝开始。因此,代码甚至不会开始运行,你会得到一个白色的窗口,突出显示(如果可能的话)Excel没有理解的"字。这样你就可以解决它。 k = 2/0
;你没有使用"难以理解的东西"对于Excel,但是当它必须执行除法时,它的堆栈会溢出并导致运行时错误。在这种情况下,你会得到一个带有方便按钮的灰色窗口,标有 Debug :按下它,黄色的代码行将突出显示,这是错误所在的行。 我很抱歉"技术不高"语言我曾经解释过这个,但我更倾向于直截了当。如果您想深入了解这一重要主题,请阅读this。