[VBA ] 基本语法问题

楼主: zzatr (我还小)   2017-12-15 22:33:36
大家好 看书自学excel vba有个基本概念不懂
例如1到100能被3整除的数字依序写入A栏
Sub mod3()
Dim i As Integer
xrow = 1
For i = 1 To 100
If i Mod 3 = 0 Then
Cells(xrow, "A").Value = i
xrow = xrow + 1
End If
Next
End Sub
那我把xrow = xrow + 1和 End If 对调 会造成每三列才会出现数字
原因为何?谢谢!
Sub mod3()
Dim i As Integer
xrow = 1
For i = 1 To 100
If i Mod 3 = 0 Then
Cells(xrow, "A").Value = i
End If
xrow = xrow + 1
Next
End Sub
作者: niklee29 (就是爱喝茶)   2017-12-15 23:37:00
If 里面的因为有整除条件所以循环递增三次才会显示文字,而你放在end if外头的是累积值,又不是显示文字的命令(显示文字的命令仍然在整除判断式里当然会有这样的结果)...
作者: vincent0926   2017-12-26 15:57:00
在if外会在for循环中累进,放IF内唯条件成立才累进

Links booklink

Contact Us: admin [ a t ] ucptt.com