0
我創建了這個宏來糾正一個錯誤(填補2月29日在非閏年創建的空白)我一直在停止Do Until循環中遇到問題。在Excel-vba中停止循環直到循環
宏做的事情是應該做的,但與Do Until ActiveSheet.Cells(3, x) = "2012"
應該它不工作我希望它停止時電池(3,x)是2012
Sub Feb_CORRECTION()
Dim i, x As Integer
Dim year
Dim leapyear
Range("c64").Select
x = 3
Do Until ActiveSheet.Cells(3, x) = "2012"
year = ActiveSheet.Cells(3, x)
leapyear = year Mod 4
If leapyear > 0 Then
Range(ActiveCell, ActiveCell.End(xlDown)).Select
Selection.Cut
ActiveCell.Offset(-1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(1, 1).Select
Else
ActiveCell.Offset(0, 1).Select
x = x + 1
End If
Loop
End Sub
謝謝
確保您比較相同的數據類型。由於「2012」是一個字符串,因此請嘗試將其與「CStr(ActiveSheet.Cells(3,x).Value)」進行比較。 –
此外,請嘗試逐句通過代碼,以確保條件符合您的想法。 –