我得到运行时错误'1004'应用程序定义或对象定义错误。 它被卡在这个If语句上
If Cells(rownumber2, 2).Value <> 1 Then
任何帮助都会被挪用
Sub stock()
Application.ScreenUpdating = False
Dim rownumber As Long
Dim rownumber2 As Double
Dim rng As Range, i As Range, j As Range, rng2 As Range
rownumber = 0 'Machining 900#
rownumber2 = 1 'maximo 900#
Set rng = Range("j1:j1910")
Set rng2 = Range("A2:A62685")
For Each i In rng
rownumber = rownumber + 1
For Each j In rng2
rownumber2 = rownumber2 + 1
If i = j Then
If Cells(rownumber2, 2).Value <> 1 Then
'If (IsNumber(Search("*Active*", Cells(rownumber2, 2)))) Then
Cells(rownumber, 10).Interior.ColorIndex = 5
Exit For
End If
Exit For
End If
Next
Next
Application.ScreenUpdating = True
End Sub
答案 0 :(得分:0)
rowNumber2失败时的值是多少?
您永远不会重置其值,因此最终它将超过工作表中的行数。也许你的意思是每次通过&#34; j&#34;重置为2。环...
答案 1 :(得分:0)
所以我无法弄清楚为什么代码不起作用所以我通过将代码更改为此来解决问题。
Sub stock()
Application.ScreenUpdating = False
Dim rownumber As Long
Dim rng As Range, i As Range, j As Range, rng2 As Range
rownumber = 0 'Machining 900#
Set rng = Range("j1:j1921")
Set rng2 = Range("A2:A62685")
For Each i In rng
rownumber = rownumber + 1
For Each j In rng2
If i = j Then
If j.Offset(0, 1) <> "Active" Then
Cells(rownumber, 10).Interior.ColorIndex = 3
a = j.Offset(0, 1).Value
i.Offset(0, 1).Value = a
Exit For
End If
Exit For
End If
Next
Next
Application.ScreenUpdating = True
End Sub