Вставить макрос в цикл - VBA

Узнай цену своей работы

Формулировка задачи:

Всем привет!подскажите как настроить цикл: задача такая: есть файлы которые выгружаются из программы(report1,3,4). нужно из них скопировать диапазон.макрос на копирование диапазона есть. нужно проверить если в ячейки А1 есть текст "Test1" то макрос копирует диапазон в файл report2 на лист test1(выполняется макрос копирования диапазона) и тд. Сначала я хотела решить вопрос путем открытия всех выгруженных файлов процедурой GetFolderPath потом получить весь список файлов по-очереди открывать их и проверять условие. Потом наткнулась на код обработки уже открытых файлов( т е файлы которые выгружаются report1, 3 ,4)я так поняла что он закрывает все открытые книги(report1,3,4 не нужны после копирования нужного диапазона:
теперь не получается совместить его с моим макросом на копирование диапазона(я его отдельным тхт файлом прикрепила.У меня получилось вот так(при срабатывании вообще ничего не происходит:

Решение задачи: «Вставить макрос в цикл»

textual
Листинг программы
Sub test()
Dim Dat As Date, Dat1 As Date, I As Long, ilastrow As Long
Dat = Date
I = 14
ilastrow = Cells.Find("*", [A1], SearchDirection:=xlPrevious).Offset(1, 0).Row
With Workbooks("Report1.xlsx").Sheets(1)
  Do While IsDate(.Range("B" & I))
    Dat1 = .Range("B" & I)
    If Dat1 = Dat - 1 Then
      .Range("B" & I & ":G" & I).Copy
      Workbooks("Report2.xlsm").Sheets(test1).Range("A" & ilastrow).Select
      ActiveSheet.Paste
      ilastrow = ilastrow + 1
    End If
    I = I + 1
  Loop
End With
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5