Я создаю код VBA для сортировки и вставки данных, и это фрагмент кода:
If J = 0 And Result2 = vbYes Then
For i = 3 To 82
W = Sheets("Sheet1").Cells(i, 4).Value
JanuaryTimesN = Array("N:Nov-Mar S:May-Sept", "N:Oct-Mar S:Apr-Sept", "N:Dec-Feb S:June-Aug", "N:Dec-Mar S:June-Sept", "N:Sept-Mar S:Mar-Sept", "N:Nov-Feb S:May-Aug", "N:Dec-Aug S:June-Feb", "N:Jan-Apr S:May-Nov", "N:Dec-May S:June-Nov")
Do Until WComp = 0 Or Z = 11
WComp = StrComp(W, JanuaryTimesN(Z), vbTextCompare)
Z = Z + 1
Loop
If WComp = 0 Then
Sheets("Sheet1").Rows(i).Copy
Sheets("Sheet2").Activate
Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
End If
Next
По какой-то причине, когда я запускаю свой код, он делает все правильно, кроме основной сортировки и состояние процесса. Кажется, мой код не работает через мой код Do Until
, и если он StrComp
, он работает неправильно. Я полагаю, что он не проходит через него вообще, потому что я поместил End function
внутри него после строки strcomp
, и это не остановило выполнение макроса через весь остальной код. И вместо того, чтобы взять только несколько моих строк, он вставил их все, что показывает, что он не проходит через l oop. Любая помощь?