Office: Excel bestimmte Tabellenblätter mittels Schaltfläche (VBA) drucken/ pdf drucken

Helfe beim Thema Excel bestimmte Tabellenblätter mittels Schaltfläche (VBA) drucken/ pdf drucken in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe folgendes Problem und hoffe ihr könnt mir hierbei helfen. Ich möchte folgende Schaltflächen evtl. mit Steuerelement Toolbox... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von sunny, 3. September 2014.

  1. sunny User

    Excel bestimmte Tabellenblätter mittels Schaltfläche (VBA) drucken/ pdf drucken


    Hallo zusammen,

    ich habe folgendes Problem und hoffe ihr könnt mir hierbei helfen. Ich möchte folgende Schaltflächen evtl. mit Steuerelement Toolbox und VBA generieren:

    1. Tabellenblatt eines bestimmten Registerblattes drucken. Jedoch nur die erste Seite. Eine weitere Schaltfläche, welche nur die
    Seite 2 mittels dem Standarddrucker ausdruckt.

    2. Tabellenblatt eines bestimmten Registerblattes als pdf drucken. Es soll außerdem automatisch der Dateiname definiert
    werden. Dies ist abhängig von bestimmten Zellinhalten und dem Benutzer von Excel. Das Datum soll auch in einem bestimmten
    Format drin stehen.


    Insgesamt werden es somit 4 Schaltflächen. 2 Schaltflächen, die entweder die erste Seite (deutsche Version) oder zweite Seite (englische Version) drucken und 2 Schaltflächen um die jeweilige Seite als pdf zu speichern.

    Weiterhin sollen die Schaltflächen auf einem anderen Tabellenblatt sein, als die Tabellenblätter die gedruckt werden sollen.

    Habe bereits nach einer Lösung gegoogelt, habe jedoch nicht wirklich eine passende Lösung gefunden und bin noch nicht ganz so fit in VBA.

    Hoffe mir kann hier jemand helfen.

    Vielen Dank schon mal für eure Unterstützung.

    lg sunny
     
  2. Exl121150 Erfahrener User
    Hallo,

    in der beiliegenden Excel-Datei habe ich dir die 4 Makros eingebaut und ebenso die 4 Buttons im Arbeitsblatt "Tabelle2".
    Dort ist auch in der Zelle E12 der für dich passende Dateipfad für die PDF-Dateien einzugeben, damit Makro3 und Makro4 funktionieren. Ich habe dort als vorläufigen Pfad "C:\EXCEL\" vorgegeben.
    Alle 4 Buttons geben jeweils das Arbeitsblatt "Tabelle1" aus (entweder auf dem Standarddrucker oder als PDF-Datei).
    Button2 bzw. Makro2 zeigen zusätzlich die Druckervoransicht an vor dem Drucken.
     
    Zuletzt bearbeitet: 3. September 2014
    Exl121150, 3. September 2014
    #2
  3. Jandb1980 Erfahrener User
    Hallo Exl121150,

    ich habe mir deinen Code mal kopiert :) ich bekomme nur bei den beiden Buttons zum PDF-Drucken die Fehlermeldung:

    Laufzeitfehler 1004:
    Die Methode 'Range' für das Objekt '_Worksheet' ist fehlgeschlagen.


    Ich habe den Code so eingesetzt in VBA:
    Code:
    Private Sub CommandButton3_Click()
        Dim Ws As Worksheet
        Dim DtTxt As String, UserTxt As String, Pfad As String, Datei As String
        Dim Seite As Integer
        
        Set Ws = Worksheets("Jan")
        Seite = 1
        DtTxt = Format(Date, "YYYY-MM-DD")
        UserTxt = Application.UserName
        Pfad = Range("Stammdaten!F6"): If Right(Pfad, 1) <> "\" Then Pfad = Pfad & "\"
        Datei = Ws.Name & "_Seite" & Seite & "_" & UserTxt & "_" & DtTxt
        
        Ws.ExportAsFixedFormat Type:=xlTypePDF, _
           Filename:=Pfad & Datei & ".pdf", _
           From:=Seite, To:=Seite, OpenAfterPublish:=False, _
           Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintareas:=False
    End Sub
    
    Muss ich noch was ergänzen?
     
    Jandb1980, 8. September 2014
    #3
  4. Jandb1980 Erfahrener User

    Excel bestimmte Tabellenblätter mittels Schaltfläche (VBA) drucken/ pdf drucken

    Okay, wenn ich die Zeile:
    Pfad = Range("Stammdaten!F6"): If Right(Pfad, 1) <> "\" Then Pfad = Pfad & "\"

    ändere zu:
    Pfad = C:\EXCEL\

    dann bekomme ich keinen Fehler.
     
    Jandb1980, 8. September 2014
    #4
  5. sunny User
    Hallo Exl121150,

    super vielen Dank. Das funktioniert super. Ich hätte beim speichern der pdf nun nur eine andere Form, wie die Datei abgespeichert werden soll.

    TFM-F7-592x592x600x8-D-092014-CAM

    Die Fett markierten sind Eingaben, welche in bestimmten Zellen steht. TFM ist eine bestimmte Bezeichnung, was ich in VBA ändern sollte (da es unterschiedliche Versionen geben wird bzw. abhängig davon, was in einer Zelle steht). D steht für die Seite 1 als Deutsch. Wichtig ist, dass alles mit - getrennt wird und bei der Abmessung (592x592x600x8) dies mit einem x getrennt wird.

    Das Problem von Jandb1980 hatte ich auch, nur ich habe die jeweiligen Makros nochmals zugewiesen und den Pfad richtig abgeändert und das Problem war beseitigt.

    Könntest du mir hierbei nochmals helfen?
    Vielen vielen Dank.



    Lg sunny.
     
  6. Exl121150 Erfahrener User
    Hallo,

    eines muss von vorneherein klar sein: der Dateipfad muss existieren, bevor eine Datei unter einem bestimmten Dateinamen gespeichert werden kann.
    Somit muss ein falscher Dateipfad zwangsläufig einen Fehler verursachen. Ich habe jetzt in die Makros, die zu den PDF-Buttons gehören, eine kleine Fehlerprüfung eingebaut, die eine Meldung bringt, sobald ein Dateipfad nicht existiert.
    (Meine ursprünglichen Makros waren exemplarisch für Demozwecke gedacht und nicht als Programme, die jede erdenkliche Falschbedienung behandeln können).

    Im Arbeitsblatt "Tabelle2", wo auch die 4 Buttons enthalten sind, habe ich
    1) in Zelle E12 den Dateipfad für die PDF-Dateien eingefügt (war auch bisher schon dort),
    2) ferner darunter im Zellbereich E14:H19 Zellen mit den Bestandteilen des von dir gewünschten Dateinamens.

    Aus diesen Bestandteilen des Punktes 2) ergeben sich in den Zellen E21 und E22 die 2 Dateinamen für die PDF-Dateien, die durch die 2 unteren Buttons erzeugt werden können.
     
    Exl121150, 9. September 2014
    #6
  7. sunny User
    Hi Anton Exl,

    super vielen Dank. Habe das meine Bedürfnisse noch etwas abgeändert und es funktioniert genau so wie ich es mir vorgestellt habe.

    Ich hätte da noch eine andere Sache. Ich lasse die Farbe von Rechtecken automatisch mittels VBA ändern. Abhängig davon, was in einer Zelle steht. Jetzt müsste ich noch eine Bedingung einbauen. D. h. wenn die in der Zelle z. B. "M5" steht und in einer anderen "PP", dann soll die Farbe anders sein als wenn "M5" und "PES". Diesen Fall habe ich nur bei "M5", sonst ist gibt es nur eine Bedingung.

    Folgendes steht bei mir in VBA. Wie kann ich hier noch zusätzlich eine wenn dann Funktion einbauen?

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$8" Then
    With Worksheets("TD verst. VoFi").Shapes("Rechteck 9").Fill.ForeColor
    Select Case Target
    Case "M5"
    .RGB = RGB(153, 102, 51)
    Case "M6"
    .RGB = RGB(214, 227, 188)
    Case "F7"
    .RGB = RGB(229, 184, 183)
    Case "F8"
    .RGB = RGB(246, 246, 168)
    Case "F9"
    .RGB = RGB(255, 255, 255)
    End Select
    End With
    End If

    Danke.

    lg sunny
     
  8. Exl121150 Erfahrener User

    Excel bestimmte Tabellenblätter mittels Schaltfläche (VBA) drucken/ pdf drucken

    Hallo,

    meinst du Folgendes:
    Code:
    '
    'Falls sich in der Zelle (=D8) etwas geändert hat und dort jetzt der Wert "M5" enthalten ist,
    'dann wird der Inhalt der Zelle A9 überprüft, ob dort "PP" enthalten ist:
    ' - falls ja, wird die Farbe RGB(153,102,51) dem Rechteck zugewiesen
    ' - falls dort jedoch "PES" enthalten ist, wird die Farbe auf rot gestellt
    ' - andernfalls wird die Farbe gelb eingestellt.
    '
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Address = "$D$8" Then
        With Worksheets("TD verst. VoFi").Shapes("Rechteck 9").Fill.ForeColor
          Select Case Target
            Case "M5"
              If Range("A9").Value = "PP" Then
                .RGB = RGB(153, 102, 51)
              ElseIf Range("A9").Value = "PES" Then
                .RGB = vbRed
              Else
                .RGB = vbYellow
              End If
            Case "M6"
              .RGB = RGB(214, 227, 188)
            Case "F7"
              .RGB = RGB(229, 184, 183)
            Case "F8"
              .RGB = RGB(246, 246, 168)
            Case "F9"
              .RGB = RGB(255, 255, 255)
          End Select
        End With
     End If
    End Sub
    
     
    Exl121150, 10. September 2014
    #8
  9. uwe74 User
    Hallo, finde diesen code scho sehr genial.
    Ich bräuchte diesen ähnlich. Meine Varriablen zum Dateinamen wären jedoch weniger. Abteilungsbezeichnung, Abteilungsleiter Namen, Aktuelles Datum.
    Ich möchte mit dem Code nur eine Stand eines Tabellenblattes als PDF ablegen.
    Kann mir hierzu wer helfen.
    Gruß
    Uwe
     
    Zuletzt bearbeitet: 16. Dezember 2014
  10. Exl121150 Erfahrener User
    Hallo Uwe,

    ich habe dir die beiliegende Excel-Datei entsprechend angepasst.
     
    Exl121150, 16. Dezember 2014
    #10
  11. uwe74 User
    Hallo Anton,

    super, die Tabelle ist genau was ich versuchte umzusetzen.
    Ich Trinke einen Weihnachtsglühwein auf dich ;-)

    Gruß
    Uwe
     
  12. uwe74 User
    Ich hätte jetzt noch eine Frage für meine Tabelle, wie auf dem Bild zu sehen markiere ich in der Zeile je nach Kalenderwoche die aktuelle und die folgende KW Manuel. Ich habe dann von hier einen Bezug in ein Diagramm wo ich die aktuellen beiden Wochen Grafisch Darstellen. Hat hier jemand einen Ansatz die Aktuellen beiden Wochen jeweils durch ein x in der entsprechenden Zelle zu füllen???
    Excel bestimmte Tabellenblätter mittels Schaltfläche (VBA) drucken/ pdf drucken uwe74_Druck.jpg

    Gruß
    Uwe
     
  13. sipel Neuer User

    Excel bestimmte Tabellenblätter mittels Schaltfläche (VBA) drucken/ pdf drucken

    Super Beispiel Erweiterung möglich?

    Hallo,

    was Ihr hier gebaut habt ist super.

    Mit einer veränderung könnte ich dies auch nutzen.

    Bekommt man das hin, das man mehrere Tabellen ( z.B. eine Liste in Spalte A) drucken kann. Die Bedingungen der zu druckenden Tabellen sollen alle so sein wie Ihr es jetzt schon habt. Sie sollen ebend nur für mehrere Tabellen gelten. Der Dateiname könnte sich jeweils immer um eine Zahl erhöhen.


    Wenn das noch geht wäre ich sehr glücklich denn ich bin schon lange auf der suche nach so etwas.


    besten Dank schon mal im voraus.

    Thomas
     
  14. mkilian Erfahrener User
    Hallo Zusammen,

    ich habe etwas ähnliches vor. Ich möchte mit einem Druck-button in Arbeitsblatt1 den Befehl geben, dass das Arbeitsblatt2 und Arbeitsblatt10 aufjedenfall gedruckt werden soll und die anderen Seiten nur, wenn auf Arbeitsblatt1 z.B. das Kontrollkästchen "Arbeitsblatt4" angekreuzt ist.

    Ist das denn überhaupt möglich? Ich arbeite zum ersten Mal mit Makros und bin daher über jeden Vorschlag dankbar.

    Liebe Grüße
    Meike
     
    mkilian, 15. Januar 2015
    #14
  15. Hallo liebe Community,

    vielen Dank für die tollen Beispiele zum PDF Export!
    Wie bekomme ich es denn hin, dass alle Seiten eines Arbeitsblattes in eine PDF Datei exportiert werden?
    Seite 1 klappt dank der Super Datei von Exl121150 hervorragend.
    Ich habe allerdings mehrere Seiten, die in den Export gelangen müssten.

    "Mein" Code sieht so aus:
    Danke für die Hilfe!

    Viele Grüße

    Matthias
     
    HomerJayS742, 26. Januar 2015
    #15
Thema:

Excel bestimmte Tabellenblätter mittels Schaltfläche (VBA) drucken/ pdf drucken

Die Seite wird geladen...
  1. Excel bestimmte Tabellenblätter mittels Schaltfläche (VBA) drucken/ pdf drucken - Similar Threads - Excel bestimmte Tabellenblätter

  2. Bestimmte Ziffern in Zelle entfernen

    in Microsoft Excel Hilfe
    Bestimmte Ziffern in Zelle entfernen: Hallo zusammen, Ich habe z.B. in meiner Spalte A/ Zelle 146 folgendes stehen "P-100-301783-10001". Ich möchte gerne in Spalte B/ Zelle 146 den gleichen Text von Spalte A/ Zelle 146 kopieren und...
  3. Automatische Nummerierung Excel, wenn in Nachbarzelle bestimmter Wert

    in Microsoft Excel Hilfe
    Automatische Nummerierung Excel, wenn in Nachbarzelle bestimmter Wert: Hallo, ich möchte in Excel eine Tabelle anlegen, in welcher in der Spalte ab Zelle A4 automatisch nummeriert wird und sich die Nummerierung automatisch anpasst, wenn eine neue Zeile eingefügt...
  4. Werte in einer bestimmten Zeile einer Tabelle zählen

    in Microsoft Excel Hilfe
    Werte in einer bestimmten Zeile einer Tabelle zählen: Guten Tag, in der Lasche 1 habe ich in der ersten Spalte eine Liste von eindeutigen Nummern. In Lasche 2 ist die gleiche Liste von Nummern (andere Reihenfolge) und neben jeder Nummer folgen in...
  5. Aus einer Zahlenkombination die ersten 4 Zahlen sollen einen bestimmten Ort ausgeben.

    in Microsoft Excel Hilfe
    Aus einer Zahlenkombination die ersten 4 Zahlen sollen einen bestimmten Ort ausgeben.: Einen schönen guten Tag! Ich habe in der Spalte M eine Zahlenkombination die wie folgt aussieht:- 0455-12-03 0355-35-13 usw Die ersten 4 Zahlen haben dabei die Bedeutung eines bestimmten Ortes....
  6. Wie bestimmte Zellen aus mehreren Blättern kopieren

    in Microsoft Excel Hilfe
    Wie bestimmte Zellen aus mehreren Blättern kopieren: Hallo, ich habe ein Problem, bei dem ich trotz Googlen als Laie einfach nicht weiterkomme. Ich möchte Zahlen aus ganz bestimmten Zellen (siehe unten), die über mehrere Tabellenblätter verteilt...
  7. Excel - Drucken bestimmter Tabellenblätter (Checkboxen)

    in Microsoft Excel Hilfe
    Excel - Drucken bestimmter Tabellenblätter (Checkboxen): Hallo Forum, ich bin neu hier und bin leider durch eine Google-Suche nicht fündig geworden bzw. fand ich kein passendes Makro. Ich habe eine Excel Arbeitsmappe mit ca. 15 Tabellenblättern....
  8. Bestimmte Zeilen Ausschneiden und in anderes Tabellenblatt einfügen

    in Microsoft Excel Hilfe
    Bestimmte Zeilen Ausschneiden und in anderes Tabellenblatt einfügen: Hallo, ich habe folgendes Problem: Mein Makro soll alle (kompletten) Zeilen von Tabelle 1 in Tabelle 2 verschieben, bei denen in der Spalte 1 der Wert größer als 4999 ist. Habe mir ein Makro...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden