Итак, код, который у меня ниже, пытается найти WIP в столбце H. Если мы найдем WIP: скопируем 3 ячейки и сделаем 10 реплик из них в следующем столбце либо в той же строке, либо в следующей доступной строке.Ошибка прерывания кода
По какой-то причине код только успешно запускает цикл для первого значения «WIP», а затем дает ошибку прерывания кода. Кто-нибудь может понять, почему это происходит?
Спасибо, Ori
Sub Step1_update()
Dim dblSKU As Double
Dim strDesc As String
Dim strType As String
Dim BrowFin As Integer
Dim Browfin1 As Integer
Dim Counter As Integer
Dim Trowfin As Integer
Counter = 0
Worksheets("Final").Activate
Trowfin = 5
BrowFin = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
'loop 1
Do While Trowfin < BrowFin
'If 1 (set the 3 values)
If Range("H" & Trowfin).Value = Range("H3").Value Then
dblSKU = Range("F" & Trowfin).Value
strDesc = Range("G" & Trowfin).Value
strType = Range("H" & Trowfin).Value
'Find the last used row in Col J
Browfin1 = (ActiveSheet.Range("J" & Rows.Count).End(xlUp).Row)
Counter = 0
'paste values 15 times
Do While Counter < 15
'If 2
If Browfin1 > (Trowfin + Counter) Then
Range("J" & Browfin1).Value = dblSKU
Range("K" & Browfin1).Value = strDesc
Range("L" & Browfin1).Value = strType
ElseIf Browfin1 < (Trowfin + Counter) Then
Range("J" & (Trowfin + Counter)).Value = dblSKU
Range("K" & (Trowfin + Counter)).Value = strDesc
Range("L" & (Trowfin + Counter)).Value = strType
Else
Range("J" & (Trowfin + Counter)).Value = dblSKU
Range("K" & (Trowfin + Counter)).Value = strDesc
Range("L" & (Trowfin + Counter)).Value = strType
End If
'Loop to paste the WIP 15 times
Loop
Trowfin = Trowfin + 1
Counter = 0
'If cell (H...) is not a WIP
Else
Trowfin = Trowfin + 1
'If 1
End If
'loop 1
Loop
End Sub
Вы хотите, чтобы 'Counter' увеличивался каждый раз? Должно ли это быть за пределами 'Else' право о' Loop'? –
Я хочу, чтобы счетчик увеличивался в 15 раз, чтобы я мог вставить значение 15 раз, рядом со значением, которое я ищу. Хотя мне нужен trowfin, чтобы вернуться к исходному значению после завершения цикла. так что я могу продолжить поиск в списке. Я обновил свою работу, расскажу, что вы думаете. –
Мне кажется, что вы просите бесконечный цикл, помещая 'Counter' внутри условного. Вероятно, это то, что происходит с прерыванием кода, если вы не вручную нарушаете код с помощью клавиши «BREAK». –