Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
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

Nur Blätter als pdf drucken mit aktiver Checkbox

Nur Blätter als pdf drucken mit aktiver Checkbox
09.10.2015 14:34:24
Felix
Hallo zusammen,
ich bin am verzweifeln und brauche eure Experten-Hilfe.
Ich habe eine Arbeitsmappe mit 14 Blättern. Auf den Blättern 2 bis 14 befindet sich je eine Checkbox (AcitveX-Steuerelement).
Die Arbeitsmappe soll per Button als pdf gespeichert/gedruckt werden. Dabei soll das erste Blatt (auf dem befindet sich der Button) immer gedruckt werden und zudem alle Blätter, auf denen die Checkbox markiert ist.
Die Checkboxen haben bisher alle den Namen "CheckBox1", was für einen anderen Code ausreicht/funktioniert. Es ist aber kein Problem sie einzeln zu nummerieren (z.B. 1-13), was wahrscheinlich für dieses Makro besser ist.
Mein bisheriger Code zum abspeichern lautet:
Private Sub CommandButton2_Click()
Dim pfad4 As String
pfad4 = ThisWorkbook.Path & "\" & "1_Bericht" & "\" & Left(ActiveWorkbook.Name, Len( _
ActiveWorkbook.Name) - 4)
ActiveWorkbook.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=pfad4, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub

Vielen Dank schon mal für eure Hilfe
Grüße Felix

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Blätter als pdf drucken mit aktiver Checkbox
09.10.2015 15:23:48
Mullit
Hallo,
wenn Du ActiveX-Boxen hast, könnte sowas gehen:
Option Explicit

Public Sub test()
Dim objOLEObject As OLEObject
Dim wksSheet As Worksheet
Dim strPath As String
Application.ScreenUpdating = False
strPath = "C:\Users\MyUser\Documents\Excel\mytest.pdf"  'anpassen... 
For Each wksSheet In ThisWorkbook.Worksheets
    For Each objOLEObject In wksSheet.OLEObjects
       With objOLEObject
           If .progID = "Forms.CheckBox.1" Then _
             If .Name = "CheckBox1" And Not .Object.Value Then _
               wksSheet.Visible = xlSheetVeryHidden
       End With
    Next
Next
On Error Resume Next
ActiveWorkbook.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=strPath, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
If Err.Number <> 0 Then MsgBox "Error: " & _
  Err.Number & " " & Err.Description
On Error GoTo 0
For Each wksSheet In ThisWorkbook.Worksheets
      wksSheet.Visible = xlSheetVisible
Next
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 12

Gruß, Mullit

Anzeige
AW: Nur Blätter als pdf drucken mit aktiver Checkbox
09.10.2015 16:47:35
Felix
Perfekt! Funktioniert genau so, wie ich's mir vorgestellt habe!
Vielen Dank Mullit!
Gruß Felix

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige