[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