Вот моя бред
- я нуб с макросами и учусь по необходимости
- Этот форум очень помог, но я до сих пор не знаю, как писать сценарии.
Это то, что я пытаюсь сделать ...
У меня есть 1 папка ("Ежемесячные отчеты"), которая содержит
«Ежемесячный отчет.xlxs»,
"Feb_01_2017_Daily report.xls",
"Feb_02_2017_Daily report.xls",
"Feb_03_2017_Daily report.xls", т.д.
Каждый ежедневный отчет содержит несколько рабочих листов.
То, что я хотел бы сделать, это скопировать только первый лист из каждого ежедневного отчета и вставить их в Ежемесячный отчет как их собственный рабочий лист с каждым рабочим листом, помеченным как "День 1", "День 2", "День 3", соответственно
Ежемесячная рабочая книга настроена как
Лист 1 - это мой рабочий лист, в котором собраны данные из ежедневных отчетов.
Лист 2 - зарезервирован для данных первого дня
Лист 3 - зарезервирован для данных второго дня
Лист 4 - зарезервирован на день 3
до конца листа 32 для данных дня 31.
Все, что мне нужно, это импортировать лист 1 из "Feb_01_2017_Daily report.xls" в лист 2 "Monthly report.xlxs"
Затем импортируйте лист 1 из файла «Feb_02_2017_Daily report.xls» в лист 3 «Ежемесячный отчет.xlxs»
Затем импортируйте лист 1 из файла «Feb_03_2017_Daily report.xls» на лист 4 «Ежемесячный отчет.xlxs»
весь путь в течение 31 дня.
Я не хочу копировать любые другие листы в ежедневных отчетах - только лист 1
Мой лист 1 из Ежемесячной рабочей книги фильтрует это для подходящего говорит (эта часть работает отлично)
Извините, я должен был быть более конкретным, вот что я сейчас использую ...
Sub CopyWorkbook()
Debug.Print "Started "
' dimensions variables as type
Dim directory As String, fileName As String, sheet As Worksheet
Debug.Print " completed
' Turns off screen updating and display alrets
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Debug.Print " Turns off screen updating"
' Initialsizes the variable directory
fileName = "C:\Users\U486474\Documents\00 Monthly from xls\Daily Adjusted Files\DailyReport__2017-01-28_00-00__2017-01-29_00-00 Copy Test .xlsx" ' actual file to be copied
Debug.Print " Sets file to be copied"
Workbooks.Open (directory & fileName) ' opens the Excel file
Debug.Print " Opens workbook of file to be copied"
Workbooks(fileName).Worksheets("Daily Report").Copy _
after:=Workbooks("Monthly Adjusted Reports Copy macro test.xlsm").Worksheets("Day 1")
Debug.Print " Copies files into existing workbook "
Workbooks(fileName).Close ' closes the worksheet
Debug.Print " Closes workbook "
' Turn on screen updating and displaying alerts again
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Я не могу понять, почему это не копирование файла.
он открывает файл, но не копирует его. Скрипт только для одного файла, сейчас я создам цикл на весь месяц, как только у меня будет 1 рабочий день.