Hallo VBA-Gemeinschaft,
nachdem ich hier im Forum auf einen guten Makro gestoßen bin, muss ich nur noch die Feinheiten angehen. Hierzu stecke ich fest und komme einfach nicht weiter. Ich habe mittels Checkboxen eine Prüfung, welches Tabellenblatt gedruckt werden soll. Dies funktioniert auch soweit ganz gut.
Step 1: Ich möchte zuerst aus allen ausgewählten Tabellenreitern eine Datei generieren, die an den Standarddrucker gesendet wird, ohne diese vorab anzusehen.
Step 2: ich möchte je nach Zelleninhalt einen individuellen Pfad (Netzlaufwerk) ansprechen. In Zelle A1 befindet sich beispielsweise DEU, hier ist das Laufwerk via \\nlwDEU1 anzusprechen. Jetzt folgt Step 3
Step 3: jedes ausgewählte Tabellenblatt soll einzeln unter einem Pfad (z.B. \\nlwDEU1\Projekte\" & t & ".xlsx) als xlsx und PDF gespeichert werden. Hier soll allerdings nicht nur der Dateiname, sondern auch der Name des Tabellenreiters gesetzt werden (z. B. DBA - Anlage 1). Bereits vorhandene Dokumente sollen ohne Bestätigung ersetzt bzw. überschrieben werden.
Dim n As Integer
Dim t As String
Dim p As Boolean
Dim s As Worksheet
For n = 1 To 13
Select Case n
Case 1:
t = "DBA"
p = Range("H7").Value
'p = CheckBox1.Value
Case 2:
t = "Anlage1"
p = Range("H8").Value
'p = CheckBox2.Value
Case 3:
t = "Anlage2"
p = Range("H9").Value
'p = CheckBox3.Value
Case 4:
t = "Anlage3"
p = Range("H10").Value
'p = CheckBox4.Value
Case 5:
t = "Anlage4"
p = Range("H11").Value
'p = CheckBox5.Value
Case 6:
t = "Anlage5"
p = Range("H12").Value
'p = CheckBox6.Value
Case 7:
t = "Anlage6"
p = Range("H12").Value
'p = CheckBox6.Value
Case 8:
t = "Anlage7"
p = Range("H12").Value
'p = CheckBox6.Value
Case 9:
t = "Anlage8"
p = Range("H16").Value
'p = CheckBox10.Value
Case 10:
t = "Anlage9"
p = Range("H17").Value
'p = CheckBox11.Value
Case 11:
t = "Anlage10"
p = Range("H18").Value
'p = CheckBox12.Value
Case 12:
t = "Anlage11"
p = Range("H19").Value
'p = CheckBox13.Value
Case 13:
t = "Anlage12"
p = Range("H19").Value
'p = CheckBox13.Value
End Select
Set s = Worksheets(t)
If (p) Then
s.PrintOut preview:=False, printtofile:=True, Collate:=True, prtofilename:="c:\temp\" & t & ".xls", IgnorePrintAreas:=True
End If
Next
End Sub
Ich hoffe mal wieder auf eure Expertise :)
Lg Tim