Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array variabel befüllen für PDF-Erstellung

Array variabel befüllen für PDF-Erstellung
20.05.2015 16:21:14
Heiko
Ich habe mal wieder eine VBA-Frage. Ich verwende folgende Code:
Sub print_PDF()
Dim FileName As Variant
Dim DetailName As String
Dim PDF_auswahl As Integer
DetailName = Worksheets("PDF").Cells(2, 24).Value
PDF_auswahl = Worksheets("PDF").Cells(1, 22).Value
FileName = ThisWorkbook.Path & "\" & DetailName
Debug.Print "Create PDF: " & FileName
Select Case PDF_auswahl
Case 2
'nur Seite 1
Sheets(Array("I.Overview")).Select
If FileName  False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=FileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
Case 3
'Seite 1+2+variabel
Sheets(Array("I.Overview ", " II. Detailed view ","plus weitere, abhängig von Bedingung" )). _
_
Select
‘  mein Problem liegt an dieser Stelle, wie bekomme ich es hin, dass in diesem Array  _
nur die jeweils mit Daten gefüllten Tabellenblätter in das PDF übernommen werden ? (plus  _
Tabelle 3 bis X, sofern in der jeweiligen Zelle D10 des Tabellen blattes nicht „'No Applicable Data Found.“ steht). Bisher kann ich so ein Array nur fix füllen. Könnt ihr mir einen Tipp geben wie dies variabl funktioniert?
'Alternative Frage: Kann ich auch ohne Array ein PDF aus mehreren „variablen“ 'Tabellenblättern  _
_
erstellen?
If FileName  False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=FileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
Case Else
End Select
Sheets("PDF").Activate
End Sub

danke für die Hilfe
Heiko

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array variabel befüllen für PDF-Erstellung
21.05.2015 21:54:29
Beverly
Hi Heiko,
du musst in einer Schleife über alle Tabellenblätter laufen und prüfen, ob deine Bedingung erfüllt ist, wenn ja, dann den Tabellennamen in das Array schreiben - nach diesem Prinzip:
Sub TabellenSelektieren()
Dim lngTabs As Long
Dim arrTabellen()
ReDim arrTabellen(0)
For lngTabs = 1 To Worksheets.Count
If Worksheets(lngTabs).Range("A1")  "" Then  ' "" Then Worksheets(arrTabellen()).Select
End Sub


AW: Array variabel befüllen für PDF-Erstellung
26.05.2015 14:41:10
Heiko
Hallo Karin,
Danke für Deine Hilfe, inzwischen konnte ich es schon mit dieser Variante lösen:
n = 2
ReDim Preserve MySheets(1 To n) As String
MySheets(1) = "I.Overview"
MySheets(2) = "II. Detailed view"
For Each Blatt In Auswahltabellen
With Worksheets(Blatt)
If .Range("D10") "Bedinugung" Then
n = n + 1
ReDim Preserve MySheets(1 To n) As String
MySheets(n) = .Name
End If
End With
Next
Sheets(MySheets).Select
Ich musste die relevanten Tabellen in einem weiteren Array festlegen, ansonsten hätte ich auch falsche Tabellenblätter erwischt.
Viele Grüße
Heiko

Anzeige
AW: Array variabel befüllen für PDF-Erstellung
26.05.2015 15:19:08
Beverly
Hi Heiko,
also ich kann nur sehen, dass du 1 Array verwendest (genau wie ich) und kein weiteres Array.
Mit meinem Code hättest du auch keine falschen Tabellenblätter erwischet, wenn du - entsprechend meinem Hinweis - deine Bedingung angepasst hättest.


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige