我有以下IF语句在VBA,但“删除”的说法,或elseif的前位的一部分,是完全可以忽略不计:第一部分是被忽略
For i = 3 To (customerNum + 3)
If Sheets("Reports").Range("L" & i).Value = "A" Then
Sheets("Reports").Range("G" & i & ":M" & i).Select
Selection.Delete Shift:=xlUp
ElseIf Sheets("Reports").Range("L" & i).Value <> "A" Then
Sheets("Reports").Range("J" & i).Value = form1_1 & i & form1_2
Sheets("Reports").Range("J" & i).NumberFormat = "d-mmm-yy"
Sheets("Reports").Range("M" & i).Value = form2_1 & i & form2_2 & i
Sheets("Reports").Range("M" & i).NumberFormat = "_-[$£-809]* #,##0.00_-;-[$£-809]* #,##0.00_-;_-[$£-809]* ""-""??_-;[email protected]_-"
End If
Next i
休息运行流畅。没有崩溃或错误。
任何想法?
“完全忽略”是什么意思?你能看到代码在调试模式下进入If块(Select + Delete)吗? –
P.s.你的是一个非常基本的“If”块,如果单元格L&i的值等于“A”,或者你输入另一个部分,那么你输入Delete部分。因此,你的陈述“删除部分完全被忽略,其余部分顺利运行”使我认为单元格“L&i”不等于A. –
也许是'Sheets(“Reports”)。Range(“G “&i&”:M“&i).Select'没有选择任何东西。 – JJF