我收到运行时错误'1004':以下代码(我在其中定义lr)上出现了应用程序定义或对象定义的错误,无法终生解决。
该代码的目的是在定义为“ ProjectDescriptionColumn”的列中搜索匹配的项目描述,并返回位于同一行的单元格中但定义为“ ProjectCodeColumn”的列中的项目代码
任何帮助都将不胜感激。
Dim ProjectDescriptionColumn As Long
Dim ProjectCodeColumn As Long
With Sheets("Completed")
If Cells(LastRowInL, "M").Value = "Engine Ancillaries" Then ProjectDescriptionColumn = 8 And ProjectCodeColumn = 9
End With
Dim lr As Integer
Dim i As Integer
lr = Sheets("VBA_Data").Cells(1, ProjectDescriptionColumn).End(xlDown).Row '<<<Run-time error here>>>
For i = 1 To lr
If UCase(Range(Sheets("Completed").Cells(LastRowInL, "B")).Value) = UCase(Sheets("VBA_Data").Cells(i, ProjectDescriptionColumn).Value) Then
Range(Sheets("Completed").Cells(LastRowInL, "N")).Value = Sheets("VBA_Data").Cells(i, ProjectCodeColumn).Value
End If
Next i
答案 0 :(得分:0)
如果If语句不为真,则永远不会设置列变量。对我来说,这会产生一个索引错误,而不是1004。但是,运行时错误肯定与当时插入该语句的值有关。您可以单步执行代码,然后检查ProjectDescriptionColumn的值吗?