Я пытаюсь написать макрос, который напечатает несколько листов в pdf. У меня есть лист («PDF»), в котором перечислены все листы в рабочей тетради в столбце D, а рядом со столбцом F у меня есть список значений TRUE / FALSE. Мой макрос должен напечатать все листы в столбце D, которые имеют ИСТИНА в столбце F, в одном файле PDF.
Количество листов в этой книге действительно различается.
Ниже мой первый удар по коду для этого
Sub PDFCreater()
Dim pdfName As String
Dim FullName As String
Dim myArray() As Variant
Dim ArrSize As Integer
Dim ArrWkst As String
Dim RowCnt As Long, ArrCnt As Long
pdfName = Sheets("PDF").Range("D1").Text
FullName = ThisWorkbook.Path & "\" & pdfName & ".pdf"
ReDim myArray(Sheets("PDF").Range("D2").Value) 'Size of array/ number of sheets in PDF
ArrCnt = 0
For RowCnt = 8 To 302
If Sheets("PDF").Cells(RowCnt, 6).Value = True Then
myArray(ArrCnt) = Cells(RowCnt, 4).Value
ArrCnt = ArrCnt + 1
End If
RowCnt = RowCnt + 1
Next
'Select all worksheets in MyArray()
Sheets(myArray).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FullName _
, Quality:=xlQualityMedium, IncludeDocProperties:=False,
IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub