Сохраните каждый рабочий лист из книги как отдельные pdf-файлы

То, что у меня есть, – это книга со всеми продажами от всех продавцов в «Листе», а в других листах листы называются номером продавца («41», «51», «88» и т. Д.), с их продажами. То, что я хочу, чтобы макрос сделал, – это взять каждый рабочий лист и сохранить как PDF с «именем рабочего листа» и «Filename»

Мой вопрос связан с этим сообщением, но по какой-то причине моя версия не сохраняет файл pdf правильно.

excel vba – сохранить каждый рабочий лист в книге как отдельный pdf

Так что я хочу просто: возьмите каждый рабочий лист и сохраните его в свой собственный PDF-файл. Проблема, с которой я сталкиваюсь, заключается в том, что макрос сохраняет каждый отдельный лист с правильным именем файла, но когда я открываю pdf-файл, он тот же продавец по продажам для каждого pdf-файла.

вот код:

Option Explicit Sub WorksheetLoop() Dim wsA As Worksheet Dim wbA As Workbook Dim strTime As String Dim strName As String Dim strPath As String Dim strFile As String Dim strPathFile As String Dim myFile As Variant Dim WS_Count As Integer Dim I As Integer ' Set WS_Count equal to the number of worksheets in the active workbook. Set wbA = ActiveWorkbook WS_Count = wbA.Worksheets.Count strPath = wbA.Path strTime = Format(Now(), "yyyymmdd\_hhmm") 'get active workbook folder, if saved strPath = wbA.Path If strPath = "" Then strPath = Application.DefaultFilePath End If strPath = strPath & "\" ' Begin the loop. For I = 1 To WS_Count 'replace spaces and periods in sheet name strName = Replace(wbA.Worksheets(I).Name, " ", "") strName = Replace(strName, ".", "_") 'create default name for savng file strFile = strName & "_" & strTime & ".pdf" myFile = strPath & strFile Debug.Print myFile 'export to PDF if a folder was selected If myFile <> "False" Then ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=myFile, _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False 'confirmation message with file info MsgBox "PDF file has been created: " _ & vbCrLf _ & myFile End If Next I End Sub 

сообщите мне, если вам нужны дополнительные данные

вам необходимо активировать Activate каждый рабочий лист, прежде чем печатать их в формате pdf. Попробуй это

  ' Begin the loop. For Each wsA In wbA.Sheets wsA.Activate 'replace spaces and periods in sheet name strName = Replace(wsA.Name, " ", "") strName = Replace(strName, ".", "_") 'create default name for savng file strFile = strName & "_" & strTime & ".pdf" myFile = strPath & strFile Debug.Print myFile 'export to PDF if a folder was selected If myFile <> "False" Then ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=myFile, _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False 'confirmation message with file info MsgBox "PDF file has been created: " _ & vbCrLf _ & myFile End If Next 

Сначала вы должны активировать каждый лист перед его экспортом в формате PDF. Пытаться:

 Option Explicit Sub WorksheetLoop() Dim wsA As Worksheet Dim wbA As Workbook Dim strTime As String Dim strName As String Dim strPath As String Dim strFile As String Dim strPathFile As String Dim myFile As Variant Dim WS_Count As Integer Dim I As Integer ' Set WS_Count equal to the number of worksheets in the active workbook. Set wbA = ActiveWorkbook WS_Count = wbA.Worksheets.Count strPath = wbA.Path strTime = Format(Now(), "yyyymmdd\_hhmm") 'get active workbook folder, if saved strPath = wbA.Path If strPath = "" Then strPath = Application.DefaultFilePath End If strPath = strPath & "\" ' Begin the loop. For Each wsA In wbA.Worksheets wsA.Activate 'replace spaces and periods in sheet name strName = Replace(wsA.Name, " ", "") strName = Replace(strName, ".", "_") 'create default name for savng file strFile = strName & "_" & strTime & ".pdf" myFile = strPath & strFile Debug.Print myFile 'export to PDF if a folder was selected If myFile <> "False" Then ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=myFile, _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False 'confirmation message with file info MsgBox "PDF file has been created: " _ & vbCrLf _ & myFile End If Next wsA End Sub 
  • OLE.Add pdf отображается strangley
  • Загрузите файл Excel в формате pdf в телеграмме в php
  • EXCEL и создатель PDF в Angularjs
  • Добавление внешнего изображения в качестве полной титульной страницы для экспорта Excel Excel и решений для ужасных сжатых файлов изображений
  • Конвертирование XLS в PDF без потери форматирования
  • Excel VBA Экспорт нескольких листов в PDF
  • Рабочий лист Excel сохранен как PDF - Изменения в области печати
  • Показывать данные из datagridview в reportviewer C #
  • Перейдите к URL-адресу в IE 11, распечатайте веб-страницу в PDF
  • Библиотека Excel в PDF C #
  • Изменение / Чтение / Запись существующего документа Excel / PDF с библиотеками .NET
  • Interesting Posts

    Запуск VBA для извлечения пламени (без Internet Explorer)

    Excel VBA If / ElseIf, кажется, не принимает результаты функции в качестве входных данных

    Коды VBA не могли работать в стиле файла marco enabled

    Файл Excel является ошибкой после экспорта из средства просмотра отчетов

    Подтвердить ввод пользователя

    как читать все строки в excel и сохранять на карте

    Почему я получаю дубликат патча Chart, используя этот VBA?

    Диапазон Excel VBA для всех соответствующих ячеек

    Автоматизация Excel не работает после выхода из системы с сервера, но отлично работает, когда пользователь Identity выполнил вход в систему

    Вставка данных в столбцы таблицы Excel из таблицы SQL Server

    Как заполнять ячейки при сопоставлении данных

    Выделение повторяющихся значений на основе нескольких критериев

    Пользовательская функция возвращает #REF в рабочем листе, работает в VBA

    Как использовать условный оператор в формате пользовательского номера для дат и времени в Excel?

    как рассчитать сверхурочную работу в Excel с помощью недельной оплаты?

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