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
Blatt löschen nach Drucken funktioniert nicht
09.10.2015 00:33:43
rschmid
Hallo an Alle!
Ich programmiere ein Frontend zur Datensichtung.
Beim Öffnen wird ein Tabellenblatt mit den Daten aus einer passwortgeschützten Datei kopiert. Über Listboxen werden Bedingungen ausgewählt, die Daten in einer Listbox angezeigt. - Funktioniert einwandfrei!
Man kann per Button eine Liste ausdrucken.
Dazu wird ein Tabellenblatt "Druckspeicher" erzeugt, und die benötigten Daten in den Druckspeicher kopiert und formatiert.
Dann rufe ich über
--------------------
Sub Drucken()
'Drucken mit Druckermenü:
UserForm1.Hide 'blendet Applikation vor Druckmenü aus
Application.Dialogs(xlDialogPrint).Show '--- Drucker auswählen
UserForm1.Show 'zeigt Applikation wieder
End Sub

--------------------
Druckermenü auf. Auswahl, Vorschau und Drucken funktionieren. (Außer auf pdf-Creator).
Danach soll das Blatt Druckspeicher gelöscht werden. Das soll über
--------------------
Sub BlattLöschen(Löschblatt)
Application.DisplayAlerts = False
Worksheets(Löschblatt).Delete
MsgBox ("Blatt " & Löschblatt & " gelöscht")
'####)
Application.DisplayAlerts = True
End Sub

--------------------
nach Aufruf von BlattLöschen("Druckspeicher") erreicht werden.
Hier passiert vorerst nichts, wodurch ein erneuter Druck zu einem Fehler führt weil das Blatt Druckspeicher hinzugefügt werden soll, jedoch schon existiert. Als erste Maßnahme fragt die Sub, die den Druckspeicher erstellt und füllt, ob das Blatt existiert und löscht es dann über BlattLöschen("Druckspeicher"), was hier direkt funktioniert.
Nach Beendigung des Frontends, also auch nach Schießen der Userform, fällt Excel dann ein dass da noch ein Blatt "Druckspeicher" vorhanden ist, hierzu ein Löschauftrag vorliegt, und löscht dann.
Hat jemand eine Idee warum das Löschen nicht direkt erfolt, obwohl der Aufruf der beiden Subs im Programm direkt hintereinander steht:
--------------------
...
Drucken
BlattLöschen("Druckspeicher")
...
--------------------
Im Voraus vielen Dank für Eure Hilfe!
Ralf

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blatt löschen nach Drucken funktioniert nicht
09.10.2015 08:53:14
Tino
Hallo,
kannst Du ein Bsp. hochladen wo man dies nachvollziehen kann?
Gruß Tino

AW: Blatt löschen nach Drucken funktioniert nicht
09.10.2015 10:57:55
rschmid
Dazu muss ich ein paar Subs entnehmen und anpassen.
Der gesamte Code wäre zu lang und einige Daten unterliegen dem Datenschutz.
...folgt in Kürze.
Vielen Dank schon mal dafür!
Ralf

Problem muss aber bestehen bleiben oT.
09.10.2015 10:59:31
Tino

AW: Problem muss aber bestehen bleiben oT.
09.10.2015 14:30:02
rschmid
Die Datei habe ich hochgeladen. Ihr findet sie unter:
https://www.herber.de/bbs/user/100686.xlsm
Die Befehle zum Laden der Daten habe ich "wegkommentiert", dafür habe ich ein Blatt mit Daten schon angehängt. Das macht die Sache einfacher, da sonst extra ein Laufwerk angelegt oder der Pfad geändert werden müsste. Das Laden funktionierte ja.
Um den Effekt zu sehen, einfach auf "Liste drucken", im Druckerfenster auf "Vorschau", schließen.
Jetzt sollte das Blatt Druckspeicher verschwinden - tut es aber nicht!!!
Wegen der Änderung in der Druckroutine wird es bei erneutem Klick vor dem erneuten Anlegen gelöscht.
Nach dem Beenden seht Ihr dass der Druckspeicher dann erst gelöscht wird.
Stört Euch nicht an den vielen Msg-Boxen, sie dienen der Fehlersuche.
Viel Erfolg und im Voraus vielen Dank!
Ralf

Anzeige
AW: Problem muss aber bestehen bleiben oT.
10.10.2015 08:25:15
Tino
Hallo,
liegt wohl daran das dein Code durchs erneute aktivieren der UserForm nicht in die Sub zurückkehrt.
Du solltest in der Sub Drucken die Zeilen UserForm1.Hide und UserForm1.Show
bereits in Sub ListeDruckenButton einbauen.
In etwa so
Private Sub ListeDruckenButton_Click()
UserForm1.Hide
ListendruckGenerieren
UserForm1.Show
End Sub

Gruß Tino

AW: Problem muss aber bestehen bleiben oT.
11.10.2015 11:30:00
rschmid
Hallo Tino,
vielen Dank für den Tip!
Jetzt funktioniert es so wie es soll!
Danke, und noch ein schönes Wochenende!
Gruß Ralf

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige