Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Kontrollkästchen in Userform

Betrifft: Kontrollkästchen in Userform von: Pascal
Geschrieben am: 13.04.2014 14:24:28

Hallo Zusammen

Ich möchte mittels Kontrollkästchen auswahl PDF für deutsch Franz und Italienisch erstellen.

Ich habe 3 verschiedene Register in Deutsch, Franz, Italienisch.
Userform mit KOntrollkasten habe ich erstellt.
Jetzt möchte ich dies Programmieren, sodass es mir in der entsprechende Sprache ein PDF erstellt. Es können auch alle Sprache ausgewählt werden.

PDF soll nur das entsprechende Register in der jeweilige Sprache erstellt werden. Und es soll mir fragen, wo ich dieses PDF abspeichern möchte.

Bei Fragen stehe ich gerne zur Verfügung.

Vielen Dank für eure Hilfe.




Gruss Pascal

  

Betrifft: AW: Kontrollkästchen in Userform von: Oberschlumpf
Geschrieben am: 13.04.2014 17:39:29

Hi Pascal

schreib ins Klick-Ereignis des Buttons diesen Code:

Private Sub cmdPrint_Click()

    Dim ctrChk As Control, larstrChk() As String

    ReDim larstrChk(0)
    
        For Each ctrChk In Controls
            If TypeName(ctrChk) = "CheckBox" Then
                If ctrChk.Value = True Then
                    If larstrChk(0) = "" Then
                            larstrChk(0) = ctrChk.Name
                        Else
                            ReDim Preserve larstrChk(UBound(larstrChk) + 1)
                            larstrChk(UBound(larstrChk)) = ctrChk.Name
                    End If
                End If
            End If
        Next
        
    sbPDFPrint larstrChk
    
End Sub
und schreib in ein allgemeines Modul diesen Code:
Sub sbPDFPrint(chkboxes)

    Dim liIdx As Integer, lstrFile As String
    
        For liIdx = 0 To UBound(chkboxes)
            'wenn CheckBox für deutsch NICHT "chkGer" heißt, dann anpassen
            If chkboxes(liIdx) = "chkGer" Then
              lstrFile = Application.GetSaveAsFilename(fileFilter:="PDF Files (*.pdf), *.pdf")
                    If lstrFile <> "Falsch" Then
                        'wenn Tabelle NICHT "Deutsch" heißt, dann anpassen
                        Sheets("Deutsch").Select
                        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                    Filename:=lstrFile, Quality:=xlQualityStandard, _
                                    IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                    OpenAfterPublish:=True
                    End If
            End If
            'wenn CheckBox für deutsch NICHT "chkFra" heißt, dann anpassen
            If chkboxes(liIdx) = "chkFra" Then
              lstrFile = Application.GetSaveAsFilename(fileFilter:="PDF Files (*.pdf), *.pdf")
                    If lstrFile <> "Falsch" Then
                        'wenn Tabelle NICHT "Francais" heißt, dann anpassen
                        Sheets("Francais").Select
                        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                    Filename:=lstrFile, Quality:=xlQualityStandard, _
                                    IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                    OpenAfterPublish:=True
                    End If
            End If
            'wenn CheckBox für deutsch NICHT "chkIta" heißt, dann anpassen
            If chkboxes(liIdx) = "chkIta" Then
              lstrFile = Application.GetSaveAsFilename(fileFilter:="PDF Files (*.pdf), *.pdf")
                    If lstrFile <> "Falsch" Then
                        'wenn Tabelle NICHT "Italiano" heißt, dann anpassen
                        Sheets("Italiano").Select
                        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                    Filename:=lstrFile, Quality:=xlQualityStandard, _
                                    IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                    OpenAfterPublish:=True
                    End If
            End If
        Next
        
End Sub
Ich kann diesen Code nicht testen, da ich noch Excel 2003 benutze, und Excle 2003 kann noch nicht alleine PDFs drucken.

Hilft denn mein Code?
Wenn nicht, kann ich leider nicht weiter helfen, da, wie gesagt, keine Testmöglichkeit.

Ciao
Thorsten


  

Betrifft: AW: Kontrollkästchen in Userform von: Der andere Uwe
Geschrieben am: 13.04.2014 19:52:11

Hallo Pascal,
hier noch eine Möglichkeit.
https://www.herber.de/bbs/user/90138.xlsm
Über Inputboxen werden Pfad und der neue Dateiname für deine PDF abgefragt und dann in den von angegebenen Ordner gespeichert. Hoffe das nützt was.

Grüße aus Dresden
Uwe


  

Betrifft: AW: Kontrollkästchen in Userform von: Pascal
Geschrieben am: 14.04.2014 17:59:41

Hallo Zusammen

Ich möchte mich bedanken für eure Mithilfe.
Ich habe mich für die Version von Oberschlumpf Thorsten entschieden.

Grüsse aus der Schweiz

Pascal


 

Beiträge aus den Excel-Beispielen zum Thema "Kontrollkästchen in Userform"