wie kann ich aus einer Arbeitsmappe einige per Checkbox ausgewählte Tabs als pdf speichern? Eine Beispiel-Arbeitsmappe habe ich euch beigefügt.
Servus
https://www.herber.de/bbs/user/92906.xlsm
Sub Pseudocode
if Checkbox1 then Tabelle0.alsPdf
if Checkbox2 then Tabelle00.alsPdf
if Checkbox3 then tabelle1.alsPdf
End Sub
ich sehe keinen eleganteren Weg, da du die Arbeitsblätter ja nicht fest den Checkboxen zuordnen kann. VIELLEICHT wenn du sicherstellst, dass der Index der Arbeitsblätter (also Sheets(i)) immer gleich dem Checkboxnamen ist (Also Kontrollkästcheni), dann könnte man eine Schleife verwenden. Wäre mir aber zu fragil.
Sub herbert()
Dim objSheets As Object
Set objSheets = CreateObject("Scripting.dictionary")
With Sheets(1)
If .Shapes("Kontrollkästchen 1").ControlFormat = 1 Then
objSheets("Tabelle0") = 0
objSheets("Tabelle00") = 0
End If
If .Shapes("Kontrollkästchen 2").ControlFormat = 1 Then objSheets("Tabelle3") = 0
End With
If objSheets.Count Then
Sheets(objSheets.keys).Copy
With ActiveWorkbook
.ExportAsFixedFormat xlTypePDF, "c:\test\testa"
.Close False
End With
End If
End Sub
Worksheet.exportasfixedformat geht nur mit einem einzelnen sheet, so viel ich weiß.
Sub herbert2()
Dim objSheets As Object
Dim shp As Shape
Set objSheets = CreateObject("Scripting.dictionary")
With Sheets(1)
For Each shp In .Shapes
If shp.FormControlType = xlCheckBox Then
If shp.ControlFormat = 1 Then
objSheets(shp.DrawingObject.Caption) = 0
End If
End If
Next
End With
If objSheets.Count Then
Sheets(objSheets.keys).Copy
With ActiveWorkbook
.ExportAsFixedFormat xlTypePDF, "c:\test\testa"
.Close False
End With
End If
End Sub
Gruß