用static 关键字声明静态变量,静态变量的生命周期是工作簿关闭之前,也就是说工作簿没关闭之前它一直常驻内存,不会因为过程运行结束被系统释放,代码改写如下:
Option Explicit
Sub test()
Dim i As Integer
Static j As Integer '定义一个静态变量
If j <= 0 Then j = 1 '如果不赋值,integer类型默认值会是0
For i = j To 20
If Sheet1.Cells(i, 1) <> "" Then
Sheet1.Cells(i, 1) = i
Else
Exit For
End If
Next i
j = i '将i非静态变量最后的结果赋值 静态变量j保存
End Sub
如果这个也不行,那么就把i保存在工作表里面,下次运行,从工作表找回i值!
Sub aaa()
For i = 1 To Range("a65536").End(xlUp).Row
If Cells(i, 1) = "张" And Cells(i, 2) = 1 Then Cells(i, 3) = "a"
Next
End Sub
如果要判断B列是否为"空",可用函数 IsEmpty (Cells(i, 2)) ,当Cells(i,2)没有任何值时为"真"