VBA Loop через строки

Мне нужно перебрать серьезные переменные, чтобы фильтровать содержимое набора данных, чтобы вставить его в другие листы. Код, который я должен вставить данные, выглядит следующим образом

Sheets("Source").Select LastRow = ActiveSheet.Range("A1").Offset(ActiveSheet.Rows.Count - 1, 0).End(xlUp).Row If ActiveSheet.AutoFilterMode = False Then ActiveSheet.AutoFilterMode = True 'Enable Filters if not exists ActiveSheet.Range("$A$3:$AY$" & LastRow).AutoFilter Field:=4, Criteria1:= _ "SelectionABC" Range("A3:AY" & LastRow).Copy Sheets("DestinationX").Select Range("A4").Select ActiveSheet.Paste 

Источник всегда один и тот же, но «SelectionABC» и «DestinationX» будут меняться. Выделение и детонация сопряжены, поэтому «SelectionABC» переходит к листу «Destination1», «SelectionDEF» отправляется на лист «Destination2», …

Как я могу пройти через выбор и назначение, чтобы у меня не было повторения кода для каждой передачи данных?

Вот быстрый непроверенный код, который поможет вам разобраться.

 Dim i, j As Long Dim alpha As String Dim b As Boolean : b = False j = 1 '~~> UPPERCASE ALPHABETIC CHARACTERS IN THE '~~> ASCII TABLE GO FROM 65="A" TO 91="Z" For i = 65 To 91 If i = 89 Then '~~> BECAUSE WE ARE LEFT WITH LAST TWO LETTERS "YZ" alpha = Chr(i) & Chr(i + 1) b = True '~~> TO COME OUT OF LOOP AFTER "YZ" Else alpha = Chr(i) & Chr(i + 1) & Chr(i + 2) i = i + 2 End If Sheets("Source").Select LastRow = ActiveSheet.Range("A1").Offset(ActiveSheet.Rows.Count - 1, 0).End(xlUp).Row If ActiveSheet.AutoFilterMode = False Then ActiveSheet.AutoFilterMode = True 'Enable Filters if not exists ActiveSheet.Range("$A$3:$AY$" & LastRow).AutoFilter Field:=4, Criteria1:= _ "Selection" & alpha '~~> ADDED alpha here Range("A3:AY" & LastRow).Copy Sheets("Destination" & j).Select '~~> ADDED j HERE Range("A4").Select ActiveSheet.Paste j = j + 1 If b Then Exit For '~~> TO COME OUT OF LOOP AFTER "YZ" Next 
  • Диапазон прохождения цикла в столбце B и установка формулы соответствия индекса в столбце E на основе значения в столбце B
  • Закрепите код сохранения, который ссылается на другой рабочий лист
  • Перемещение по диапазону и сокрытие столбцов VBA
  • Наиболее эффективный метод удаления строк с двумя условиями
  • Удаление строк, в которых данные о пользователях перечислены в другом документе Excel
  • VBA CountA / countif с добавлением
  • Как создать цикл внутри цикла vba
  • Вычитайте сумму из ячейки до тех пор, пока она не достигнет 0 многократной суммы напоминания
  • Изменить Loop to Auto Filter для упрощения MACRO
  • Как сравнить две ячейки в двух разных столбцах в одной строке при циклическом столбе?
  • TypeError: объект 'set' не поддерживает индексирование в excel
  • Interesting Posts

    Excel копирует макросы из одной строки в другую без перезаписи формул в целевой строке

    Как использовать два пользовательских ввода из двух полей ввода и делить их

    Excel VBA С заявлением, возвращающим несоответствие типа

    Фоновый макрос / подпрограмма, которая не показана в стеке вызовов

    Преобразование рукописного номера в текст

    Перемещение данных в самую левую пустую ячейку с помощью VBA

    Ошибка декодирования – вывод не utf-8 – pandas / python 2.7 / excel / win

    Спецификация поведения с плавающей запятой Excel

    EPPlus: динамическая сводная таблица с использованием внешнего подключения

    Проблемы с удалением пользовательских стилей в Excel 2016

    Открыть Excel с EPPlus без сохранения в файл

    Динамическая панель Excel 2007 без VBA

    Получите размеры фонового изображения комментария ячейки (.Shape.Fill.UserPicture)

    Как пересылать значения с использованием формулы excel

    Excel 2013 VBA отображает 4 цифры с двумя цифрами недель

    Давайте будем гением компьютера.