Я пытаюсь экспортировать именованный диапазон на нескольких листах в один PDF-файл. Первоначально казалось, что он работает нормально, тогда я заметил, что выбранный диапазон изменится при загрузке различных листов в массив.Excel VBA Export Несколько листов в PDF
Это мое понимание, используя Selection.ExportAsFixedFormat
, это будет экспортировать только выбранные ячейки. Поэтому у меня есть макрос, чтобы прокрутить нужные листы, выберите различные диапазоны, затем создайте массив для всех листов, чтобы разрешить экспорт в один PDF-файл.
Dim wb As Workbook
Dim srcSht As Worksheet
Dim toPrnt As String
Set wb = ThisWorkbook
Set srcSht = wb.Sheets("print_array")
Dim myArr1() As Variant
myArr1 = srcSht.Range("myPrintArray")
Dim i As Long
Dim j As String
For i = LBound(myArr1, 1) To UBound(myArr1, 1)
j = myArr1(i, 1)
wb.Sheets(j).Activate
wb.ActiveSheet.Range("CCB_" & Left(j, 5) & "_Print").Select
Next i
wb.Sheets(Array("CAT01 - Request for Resource", _
"CAT02 - Resource Allocation", _
"CAT03 - Product Data Sources", _
"CAT04 - Target & Control Cells", _
"CAT05 - Matching And Deduping", _
"CAT06 - Exclusions", _
"CAT07 - Data from other teams", _
"CAT08 - Outputs", _
"CAT09 - Special Instructions", _
"CAT10 - Brief Meeting Sign Off" _
)).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDF_FileAndPath, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
При пошаговом через код, все идет по плану, вплоть до создания листов массива, в этот момент изменить выбранные диапазоны.
Я также попытался использовать PageSetup, но результат тот же.
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintArea = Range("CCB_" & Left(j, 5) & "_Print").Address
End With
Просмотрев несколько похожих сообщений на этом форуме, я все еще в растерянности.
Может ли кто-нибудь пролить свет на то, почему выбранный диапазон изменяется при создании массива или, есть ли какие-либо другие предложения, которые могут вам помочь?
Большое спасибо