AW: Fehler gefunden
04.12.2017 21:14:39
Lukas
Hallo, danke erstmal für das erneute ergänzen:
Bin mir nicht sicher aber da ist glaub ich ein kleiner Tippfehler drin? Ist aber kein Ding bin sehr schnell dahinter gekommen :)
Call LoescheObjekte(ThisWorkbook.Sheets(.Name))
ist damit die Funktion gemein, die andere ist nicht in der Datei drinnen.
Call LoescheDruckauftrag(ThisWorkbook.Sheets(.Name))
Das Löscht die Bilder/Objekte wenn ich das richtig verstehe, damit sie nicht doppelt vorkommen beim erneuten ausführen des Codes. Ist ECHT SUPER jetzt brauchen sie die Einstellung "Von Zellposition und -größe abhängig" nicht mehr. Aber ich hab mich glaub ich wider blöd ausgedrückt, es tut mir leid. Ich hab das ganze nochmal ausgiebig getestet und mir sind zwei Sachen aufgefallen. Ich versuch es nochmal besser zu beschreiben bzw. meine Theorien dazu nennen:
1.Manchmal: wird nicht der ganze Listenbereich in den Rang kopiert hab das in diesem Überwachungsfenster gesehen. Beispiel: Tabelle hat zbsp. 620 Zeilen. Im Überwachungsfenster stehen im Range aber nur 596. Aus irgendeinem Grund scheint der benutzte Bereich unterteilt zu sein oder unvollständig. Ich glaub das wird durch das hinzu kopieren von Datenzeilen aus anderen Tabellen verursacht. Dadurch erfasst er nur den Obersten Benutzen Bereich und das setzt sich dann bei gesetzten filtern natürlich fort, wenn er innerhalb des Ranges den sichtbaren Bereich durchläuft.
Je nachdem wie dieser Bereich ausfällt und wie viele zu druckende Datenzeilen darin sind bzw _
welche Filter gesetzt sind , kommt dann eine entsprechendes Ergebnis. Die Anzahl der Kärtchen ist unvollständig sofern die untersten zu druckende Datenzeile nicht teil des Bereiches waren oder es kommt die Meldung Keine Daten für Druckauftrag vorhanden!, Glaube diese Codezeile ist verantwortlich. Hab es getestet indem ich nach der Spalte P (dort steht "Drucken") sortiert wodurch alle Datensätze oben waren und dann ging es. Ich weiß aber leider nicht wieso dieser Fehler auftritt. Hab gegoogelt, und es sollte eigentlich damit gehen:
Set rng = .Range("A5", .Cells(.Rows.Count, 14).End(xlUp))
2. Manchmal: werden die Karten gedruckt/übertragen und er wechselt auf das Tab "Muster _
Karten" aber dann hängt Excel, und man sieht es am Flackern der Bilder/Objekte in den Karten. Dann muss ich ESC drücken, und es ist alles geht wider. Weis nur nicht was da genau passiert. Weil das Tabellenblatt wechselt, geh ich davon aus. Das es, bis zu diesem Punkt läuft. Irgendwo in diesem Bereich ist der Auslöser für das Flackern bzw. anhalten des Programms
.PageSetup.PrintArea = .Rows(1).Resize(NextRow + rngVorlage.Rows.Count - 1).Address
End With
ErrorHandler:
Call Events_(True)
If Err.Number 0 Then
MsgBox Err.Description, vbCritical, Err.Number
ElseIf booError Then
MsgBox "Keine Daten für Druckauftrag vorhanden!", vbExclamation
Else
Application.GoTo Tabelle2.Cells(1, 1), True
MsgBox "Druckauftrag wurde ersetllt!", vbInformation
Könnte die "Bild Aktualisierung", "Berechnung" die wider eingeschaltet wird die Ursache sein? So ne art Rückkopplung?Oder kann es sein das das Programm die anderen Zeilen durchläuft wo nicht Drucken steht? Oder vielleicht hat es was mit dem Arbeitsspeicher/Zwischenablage zutun, dass die durch die Bilder/Objekte voll ist und es deswegen den Abschluss des Programms behindert. Ist es möglich die Zwischenablage zu löschen?
Dieser Abschnitt kommt dann manchmal nicht mehr (MsgBox "Druckauftrag wurde ersetllt!", vbInformation) wenn es hängen bleibt und ich ESC drücken muss. Ich hoffe ich habe es mit dem schreiben und meinen Theorien nicht übertrieben, ich kenn mich leider nicht aus und dacht mir Vielleicht hilft so eine Beschreibung weiter.
Grüße Lukas