Ниже у меня есть программа, которая будет идти на лист (Inventory), обратите внимание на имя сотрудника, колонка А, если его такой же, как и выше (Последний раз)Excel макрос просматривает ячейку для нескольких значений. и петли
If Cells(i & ",1").Value = Cells(i - 1 & ",1").Value Then
затем посмотреть на описание в столбце B, и если оно не на тех, которые мне нужны, перейдите к следующей строке и повторите. Если это то, что мне нужно, скопируйте строку обратно на лист J и скопируйте туда. Повторите промывку. Однако на данный момент все, что он делает, это добавить другое значение i и двигаться дальше, что означает, что он просто пропускает каждую вторую строку. Какой цикл нужно добавить, чтобы перепроверить следующую строку, т. Е. I = 3 для одной и той же вещи, и, возможно, отбросить это?
Для бонусных очков сканирование столбца A не работает. Помощь в этом будет замечательной.
Dim i As Integer
Dim j As Integer
Dim k As Integer
i = 2
j = 73
k = 3
ActiveCell.FormulaR1C1 = "Inventory"
Sheets("Inventory").Select
Do Until i = 4495
If Cells(i & ",1").Value = Cells(i - 1 & ",1").Value Then
Sheets("Inventory").Select
Application.ScreenUpdating = False
If Cells(i & ",2").Text <> "CONSUMABLES" _
Or Cells(i & ",2").Text <> "FILTERS - BILLI TRIO" _
Or Cells(i & ",2").Text <> "FILTERS - ZIP GENERIC" _
Or Cells(i & ",2").Text <> "GOODS" _
Or Cells(i & ",2").Text <> "HARDWARE FIXINGS" _
Or Cells(i & ",2").Text <> "LIGHTING - 50W DICHROIC" _
Or Cells(i & ",2").Text <> "LIGHTING - COMPACT BC/ES" _
Or Cells(i & ",2").Text <> "LIGHTING - DICHROIC LAMP" _
Or Cells(i & ",2").Text <> "LIGHTING - FLURO" _
Or Cells(i & ",2").Text <> "LIGHTING - PLC LAMP 840/830" _
Or Cells(i & ",2").Text <> "LIGHTING - PL-L" _
Or Cells(i & ",2").Text <> "LIGHTING - PULSE STARTER" _
Or Cells(i & ",2").Text <> "LIGHTING - STANDARD STARTER" _
Or Cells(i & ",2").Text <> "LIGHTING - T5 FLURO" _
Or Cells(i & ",2").Text <> "NITROGEN CHARGE" _
Or Cells(i & ",2").Text <> "OXYGEN/ACETYLENE WELDING" _
Or Cells(i & ",2").Text <> "R-134A" _
Or Cells(i & ",2").Text <> "R-22" _
Or Cells(i & ",2").Text <> "R-407C" _
Or Cells(i & ",2").Text <> "R-410A" = 0 Then
i = i + 1
Exit If
Rows(i).Select
Selection.Copy
Sheets("Sheet" & j).Select
Rows(k).Select
ActiveSheet.Paste
i = i + 1
k = k + 1
Else
Вы увеличиваете 'i' дважды за цикл. Один раз в выражении if и один раз после этого. Я не уверен, что вы хотите, чтобы ваш код делал, поэтому я не могу сказать вам, что нужно удалить/изменить. – jmstoker
Я хочу проверить значение в coloum B с помощью Big If. Если он передает нам колу (все ниже End if), если он терпит неудачу, повторите на следующей строке вниз (i = i + 1) –
Можете ли вы показать остальную часть цикла 'Do Until'? Или дать простой пример, который показывает вашу проблему? – jmstoker