VBA копирует рабочий лист Excel на новый рабочий лист в другой книге

У меня есть макрос Excel, который загружает информацию о тике ценных бумаг с Yahoo и сохраняет ее как csv. Затем вызывается функция для обработки csv, создания диаграммы и хранения полученного xlsm-файла в виде html-файла.

Я хочу передать последовательные файлы csv в функцию, обработать их и сохранить полученный файл xlsm в новые рабочие листы в исходном файле xlsm.

If (Year = 0) Then Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=FilePAth & Ticker & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False ActiveWorkbook.SaveAs Filename:=FilePAth & Ticker & ".htm", FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False Else ActiveWorkbook.Copy After:=Workbooks(FilePAth & Ticker & ".xlsm").Sheets(Ticker) ActiveWorkbook.SaveAs Filename:=FilePAth & Ticker & ".htm", FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False Workbooks(Ticker & ".csv").Close SaveChanges:=True End If 

Первая часть вышеуказанного условия создает файл xlsm & htm, вторая часть пытается сохранить рабочий лист. Произошла ошибка: – ActiveWorkbook.Copy

Может ли кто-нибудь дать какие-либо подсказки, пожалуйста?

заранее спасибо.

Код ищет основную книгу. Если он не найдет его, он откроет его. С открытой книгой «Мастер» лист может переходить от одного к другому. Я создал универсальный способ сохранить его затем.

Это линия, в которой вы нуждаетесь.

 ThisWorkbook.Sheets(1).Copy After:=Compiled_WB.Sheets(Compiled_WB.Worksheets.Count) 

Вот Sub, который объединяет все это.

 Sub tryit() Application.DisplayAlerts = False Dim Ticker As String Ticker = "DocumentsTicker" Dim year As Long year = 1 Dim Compiled_WB As Workbook If (year = 0) Then Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & Ticker & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & Ticker & ".htm",FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False Else For Each Compiled_WB In Workbooks If InStr(Compiled_WB.Name, Ticker) > 0 Then GoTo already_open End If Next Workbooks.Open Filename:=ThisWorkbook.Path & Ticker & ".xlsm" For Each Compiled_WB In Workbooks If InStr(Compiled_WB.Name, Ticker) > 0 Then GoTo already_open End If Next already_open: ThisWorkbook.Sheets(1).Copy After:=Compiled_WB.Sheets(Compiled_WB.Worksheets.Count) Dim filetype As String If Compiled_WB.FileFormat = 52 Then filetype = ".htm" Else filetype = ".xlsm" End If Compiled_WB.Save Compiled_WB.SaveAs Filename:=Compiled_WB.Path & "\" & Ticker & filetype, FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False Compiled_WB.Close Workbooks(Ticker & ".csv").Close SaveChanges:=True End If End Sub' 
  • Признание отсутствующих значений и возврат списка с этими значениями
  • Java создает файл csv, имеет «и, в нем, правильно открывается в Excel
  • Запись в CSV с форматированием Excel: Java
  • Загружать данные из * .xlsx или * .xls в таблицу Oracle из Oracle Apex 4.0.2 Учетная запись пользователя
  • fopen () возвращает неожиданный массив с созданным Mac Excel csv
  • Как запретить Excel обрабатывать строки, содержащие двоеточие, как формулы
  • Как остановить Excel от форматирования значений, таких как 10-3 в качестве даты?
  • Получить имя столбца в файле csv
  • Как найти путь excel.exe и путь notpad.exe
  • Вычислить 30-минутные средние и сезонные средние значения в python?
  • Ошибка анализа CSV на XLS с помощью скрипта VBA
  • Давайте будем гением компьютера.