Do Loop запускает другой макрос

Я новичок в этом и довольно новичок в VBA.

Пробовал мою руку и обнаружил, что я могу разобраться в цикле.

У меня есть длинный макрос для запуска, он находит книгу и копирует данные в слияние по словам. Я не могу найти способ петли этого макроса как im, используя значение из A2, чтобы найти файл, и ему нужно пройти через столбец A.

Любая помощь будет получена с благодарностью.

это то, что я до сих пор.

Sub OpenWorkbook() Application.ScreenUpdating = False varCellvalue = Range("A2").Value Workbooks.Open("Y:\SHARED_SERVICES\File storage\" & varCellvalue & "\" & varCellvalue & "_preparation v3.xls").Activate ActiveWindow.Visible = True Range("A2:AY2").Select Selection.Copy ActiveWindow.Close Windows("Test.xlsm").Activate Range("B2").Select ActiveSheet.Paste Application.CutCopyMode = False Set WordApp = CreateObject("Word.Application") WordApp.Visible = False WordApp.documents.Open("C:\Users\letter Merge trial.docm").ActivateWordApp.Run "MailMergeLetter" WordApp.ActiveDocument.SaveAs ("Y:\SHARED_SERVICES\File storage\" & varCellvalue & "\Letter_" & varCellvalue & ".doc") WordApp.ActiveDocument.SaveAs ("C:\Letters to print\Letter_" & varCellvalue & ".doc") WordApp.ActiveDocument.Close WordApp.documents("C:\Users\Spreadsheets to merge\ letter Merge trial.docm").Activate WordApp.ActiveDocument.Close WordApp.documents.Open("C:\Users\Spreadsheets to merge\ATIP.docx").Activate WordApp.Run "MailMergeATIP" WordApp.ActiveDocument.SaveAs ("Y:\SHARED_SERVICES\File storage\" & varCellvalue & "\ATIP_" & varCellvalue & ".doc") WordApp.ActiveDocument.SaveAs ("C:\Users\Letters to print\ATIP_" & varCellvalue & ".doc") WordApp.ActiveDocument.Close WordApp.documents("C:\Users\Spreadsheets to merge\ATIP.docx").Activate WordApp.ActiveDocument.Close Windows("Test.xlsm").Activate End Sub 

Я предполагаю, что столбец A содержит имена папок, и каждая папка содержит имя файла ( _preparation v3.xls ).

Вот один из способов для цикла через диапазон значений.

 Sub OpenWorkbook() Application.ScreenUpdating = False Dim rng As Range 'Change your range according to your list size Set rng = Range("A2:A10") For Each cell In rng varCellvalue = cell 'Put the rest of your code here for looping '.... Next cell Application.ScreenUpdating = True End Sub 
  • Смещение до последней строки в другом листе vba
  • SQL Выберите запрос в Excel VBA
  • Excel VBA - выход из цикла из другого модуля в Userform
  • Pairs Trading VBA Loop
  • Цикл Excel для данных
  • Excel Loop, который добавляет время
  • VBA удаляет список папок в электронной таблице Excel
  • VBA Scripting: QueryTable в цикле не оставляет извлеченный текст в ячейке
  • Цикл, который слишком много
  • вызов метода внутри цикла?
  • VBA: Прокрутите критерии в фильтре Excel?
  • Interesting Posts

    Ошибка времени выполнения 13: несоответствие типов в комбинированном поле – Excel VBA

    VBA большой SQL-запрос – метод «CopyFromRecordset» объекта «Range» не выполнен

    Excel: формулы для преобразования данных между столбцом / строкой / матрицей

    Вырезать и вставить все столбцы, если ячейка равна «Fri» в диапазоне

    Вычислить функцию медленно с помощью функции рабочего листа Match, ссылающейся на несколько столбцов

    Как сделать запрос Google, который выбирает строку?

    VBA проверяет список писем, используя шаблон

    SQL-запрос не возвращает полные результаты только для одного поля

    Как я могу обнаружить объединенную ячейку над линией выбора с помощью VBA?

    Прямая адресация ячейки в apache POI

    Мастер-лист Excel

    как вводить неверную формулу в Excel с помощью Java

    Как сохранить загруженные данные файла Excel из таблицы данных в папку приложения в ASP.NET

    Разделите после первого пространства в одной ячейке, а остальные в другой

    Excel VBA: настройка адреса ячейки для переменной «Object Required Error»

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