У меня есть 4 листа, например «Лист1», «Лист2», «Лист3» и «Лист4».Экспорт нескольких рабочих листов в PDF без выбора
Для моего PDF, я хочу, чтобы экспортировать содержимое Лист3 и Лист4, поэтому будут сгруппированы в массив, как:
Sheets(Array("Sheet3", "Sheet4"));
Сейчас, как правило, экспортировать в PDF, я бы выбрал это, то имеют
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:= _
"C:\filename.pdf", _
Quality:= xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Однако, я хочу, чтобы этот макрос работал полностью в фоновом режиме. Если бы я смотрел на Sheet1 и запускал этот макрос, он переместился бы на Sheet3, потому что он выбирается, что подрывает рабочий процесс.
Я знаю, как сделать это для основных операций, таких как FillCell Объявив переменные:
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Sheets("Sheet2")
' modify ws
, так как это работает за кулисами.
Таким образом, я хотел бы экспортировать несколько рабочих листов (не все) в PDF без необходимости использовать Select, Activate или аналогичный, который изменит представление рабочей книги/рабочего листа, в котором я сейчас просматриваю.
Вы пытались просто вызвать table3.ExportAsFixedFormat? –
Дубликат [Использовать метод на нескольких листах одновременно без использования ActiveSheet или Select] (http://stackoverflow.com/q/22796286/4088852). – Comintern
@Comintern, это сработало хорошо. ура – mojo1mojo2