VBA:如果声明不起作用
我不知道为什么声明不起作用。没有错误发生,但同时在表单中没有结果。VBA:如果声明不起作用
Sub won()
Dim ws As Worksheet
Dim lastrow As Long
Set ws = ThisWorkbook.Sheets("Data imput")
lastrow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 3 To lastrow
If ws.Cells(i, 6) = "customer" Then
ws.Cells(i, 16) = 1
End If
Next i
MsgBox "done!"
End Sub
这可能是因为您正在搜索列1内的LASTROW就做了6列如下:
lastrow = ws.Cells(ws.Rows.Count, 6).End(xlUp).Row
它现在有效!谢谢! – aannie
你忘了定义变量i。
Dim i As Integer
为防止以后出现此错误把下面的代码行的顶部宏
Option Explicit
将'i'变量声明为'Long'可能会更好,因为'Integer'是16位,介于-32,768和32,768之间,而'Long'是32位,介于-2,147,483,648和2,147,483,648之间 – Tehscript
True,Long将是因为你已经将lastrow声明为Long。 – sourceCode
也许它的工作,它的计算结果为'FALSE'? – David
嗨,可能是一个愚蠢的答案,但是是“客户”正确书写, –
它也不显示False。 – aannie