Я пытаюсь прочитать макрос, который суммирует соответствующие значения, связанные с рядом дат. IE-1 января будет иметь 20 строк с соответствующими записями 20, 50, 80 в соответствующих столбцах. Я хочу макрос, который будет суммировать все эти записи, и как только все записи 1 января будут суммированы, он перейдет к 2 января и суммирует все эти записи. Код, который я написал до сих пор, дает мне цикл без ошибок.Loop without do error, excel vba
Private Sub CommandButton1_Click()
Dim dateCheck As String
Dim shipDay As Date
Dim L As Integer
Dim i As Integer
Dim S As Integer
Dim search As String
Dim usaTotal As Long
Dim usaCredit As Long
Dim usaDebit As Long
L = 10
i = 3
dateCheck = InputBox("What Date is Ship Day 1?", "Ship Day Entry")
If IsDate(dateCheck) Then shipDay = DateValue(dateCheck) _
Else: MsgBox ("Invalid Date") ' Prompts user for ship day 1, and checks if actual date
While Not Worksheets("Sheet1").Cells(i, 8).Value = "" ' Runs until all cell rows are accounted for
For S = 0 To 29
shipDay = shipDay + S
Do Until shipDay <> Worksheets("Sheet1").Cells(i, 8).Value ' Execute until new date
search = Worksheets("sheet1").Cells(i, 12).Value ' Variable to use InStr to check for "CAN"
If (((shipDay = Worksheets("Sheet1").Cells(i, 8).Value) And _
InStr(1, search, "CAN", vbBinaryCompare) = 0) _
And (Worksheets("Sheet1").Cells(i, 6).Text = "Invoice")) Then
'Check that date matches, and that it isn't Canada, and that order is an invoice
usaDebit = Worksheets("Sheet1").Cells(i, 22).Value ' Account for Debits
usaCredit = Worksheets("Sheet1").Cells(i, 24).Value ' Account for Credits
usaTotal = usaTotal + usaCredit - usaDebit ' Calculate contribution
i = i + 1
End If
Loop
MsgBox (usaTotal)
Next S
Worksheets("JUNE Canada").Cells(i, 22).Value = usaTotal
MsgBox (usaTotal)
' Need code here that will input final usaTotal into respective space
MsgBox (usaTotal)
Wend ' End of Initial "while not"
End Sub
Ваш первый 'Если' утверждение не имеет никакого 'End If' – Sam
[Отступы] (http://mrbool.com/importance-of-code-indentation/29079) является вашим другом. – vacip