Excel VBA Makro - Kleines Problem

  • Hallihallo,


    ich habe ein kleines VBA Problem, bei dem ich einfach nicht mehr weiterkomm...Google konnte mir leider auch nicht helfen :(


    Folgendes Problem - In der Firma habe ich eine kleine Excel Datei mit 2 Arbeitsblättern. In Arbeitsblatt 1 trage ich ein paar Zahlen, Chargennummer und ein Datum ein. Sind alle Daten richtig eingegeben, drücke ich auf eine Schaltfläche/Button mit zugewiesenem Makro. Das "einfache" 3-Zeilen Makro ist so aufgebaut, dass es mir Arbeitsblatt 2 ausdrucken soll, wobei ich zuerst den Drucker auswählen will/kann/soll:


    Standardmäßig wird dieses Arbeitsblatt per "CutePDF" als PDF abgespeichert.


    Das Problem ist, dass sobald ich die Schaltfläche "Als PDF speichern" anklicke, das "Speichern unter" Fenster von Cute PDF zweimal hintereinander auftaucht:


    • Schaltfläche/Button anklicken - CutePDF printer auswählen - Fenster "Speichern unter" als PDF - "Speichern" anklicken - PDF wird gespeichert - Fenster "Speichern unter" erscheint erneut ein 2x


    Kann ich das 2x erscheinen des "Speichern unter" Fenster verhindern/unterdrücken/deaktivieren? Wenn ja, wie?


    Bin für jede Hifle dankbar!

  • Kenn die Syntax nicht aber mir düngt der Dialog den du da anzeigst is schon das Printmenü.

    Und wenn du den Dialog mit OK beendest, sprich ihn erfolgreich abschließt führt er das Sheets("ProFormaIV").PrintOut aus und haut dir nochmal das Printmenü rein.


    Lässt sich relativ einfach feststellen: Wennst den ersten Print cancelst, kommt dann der zweite Dialog?

  • OK,

    Dann probier mal das weg:

    If Application.Dialogs(xlDialogPrint).Show = True Then

    Sheets("ProFormaIV").PrintOut Copies:=1

    End If



    Und nur:

    Sheets("ProFormaIV").PrintOut Copies:=1

  • So...jetzt bin ich endlich dazu gekommen, mich nochmal mit dem kleinen Makro zu beschäftigen :)


    Ich habe jetzt herausgefunden, dass das Makro 2 x erscheint, weil es mir die 2 Arbeitsblätter ausgeben will. Versteh ich nicht ganz, weil ich mit dem Befehl "Sheets("ProFormaIV").PrintOut Copies:=1" dezidiert angebe, nur Arbeitsblatt 2 "auszudrucken".


    Und nur:

    Sheets("ProFormaIV").PrintOut Copies:=1

    Wenn ich das mache, wird das Arbeitsblatt 2 mit dem Drucker bearbeitet, der als letztes benutzt wurde.


    Das möchte ich vermeiden. Ich könnte zwar einen bestimmten Drucker im Makro angeben, aber das funzt auch nicht. Die Excel File sollte von mehreren Personen verwendet werden mit unterschiedlichen PCs. Und da kann es sein, dass die Drucker unterschiedliche "Adressen" haben.