Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1880to1884
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
Inhaltsverzeichnis

Makro Call StartZelle

Makro Call StartZelle
25.04.2022 19:24:56
mike49
Hallo zusammen,
In meiner Arbeitsmappe habe ich diese beiden Makros stehen, die auch funktionieren:
Option Explicit

Private Sub Workbook_Open()
Call StartZelle
End Sub

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.ScreenUpdating = False
ActiveSheet.Unprotect
If ActiveSheet.Name = "Übersicht" Then
Sheets("Übersicht").Select
Range("B6:AF42").Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("AH5").Select
ActiveSheet.Protect
End If
Application.EnableEvents = True
End Sub
Nach dem Ausdruck des Blatts "Übersicht" muss ich über Alt+F8 das Makro 'StartZelle' anstoßen, damit mein Fadenkreuz wieder erscheint.
Könnte man dies in die Prozedur 'BeforePrint' integrieren?
Gruß
mike49

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Call StartZelle
25.04.2022 19:42:32
onur
Das wurde dir doch auch in früheren Threads von dir schon erklärt: es heisst nicht umsonst BEFORE-Print, weil es ausgeführt wird, BEVOR du druckst und somit hättest du dein "Fadenkreuz" wieder mit ausgedruckt.
Ich hatte dir auch geschrieben, dass dein Code bei jedem Select ein Calculate-Event auslöst, was wiederum dein "Fadenkreuz" wieder aktiviert.
Mach es so, wie unten steht (OHNE Select und mit ausgeschalteten Events) und klicke nach dem Drucken irgendwo hin, damit dein "Fadenkreuz" wieder erscheint.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False
ActiveSheet.Unprotect
If ActiveSheet.Name = "Übersicht" Then
Sheets("Übersicht").Select
With Range("B6:AF42").Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveSheet.Protect
Range("AH5").Select
End If
Application.EnableEvents = True
End Sub

Anzeige
AW: Makro Call StartZelle
25.04.2022 20:13:04
mike49
Hallo onour,
danke für die Rückmeldung.
Ich dachte es gibt sowas wie 'AfterPrint', das die 'Call StartZelle' enthält und automatisch nach dem Ausdruck gestartet wird.
Trotzdem nochmals Danke für deine Hilfe.
Gruß
mike49
AW: Makro Call StartZelle
25.04.2022 19:53:47
onur
Das Problem ist, dass Excel nicht weiss, WANN der Druck beendet wurde (es gibt keine Events für). Mann könnte es aber so einrichten, dass beim Drucken das Blatt gewechselt wird. Sobald gedruckt wurde, musst du dann gezwungenermaßen zum Blatt zurückkehren und das könnte dein Makro wieder aktivieren.
AW: Makro Call StartZelle
25.04.2022 20:15:56
mike49
Hört sich gut an.
Wie müsste dann das 'BeforePrint' geändert weden?
Anzeige
AW: Makro Call StartZelle
25.04.2022 19:59:42
onur
Du könntest aber das Makro aus dem Event auslagern und per Button drucken statt aus dem Menü. Dann hättest du die Probleme nicht.
AW: Makro Call StartZelle
25.04.2022 20:17:21
mike49
Ja!
Das ist auch eine gute Idee!
AW: Makro Call StartZelle
25.04.2022 20:31:14
onur
Aber das Problem ist (was du mit keinem Wort erwähnt hast) - habe ich leider eben erst gesehen - dass dein Fadenkreuz über bedForm läuft. Das kannst du nicht einfach durch Setzen der Zellfarbe überschreiben machen, da eine bedForm immer die Zellfarbe überschreibt, weil sie Vorrang vor der Zellfarbe hat. d.h.: Egal, welche Farbe du der Zelle manuell oder per Makro gibst, solange die Bedingung zutrifft, wird die Zelle grün.
Anzeige
AW: Makro Call StartZelle
25.04.2022 20:46:29
mike49
Uups!
Das wusste ich nicht!
Hast du eine Idee, wie man das hätte anders lösen können?
Notfalls mache ich das mit dem Button.
AW: Makro Call StartZelle
25.04.2022 21:16:48
onur
Wird nix nutzen. Man muss mit dem Button die bedForms deaktivieren.
Ich melde mich. Poste mal die aktuelle Verion.
AW: Makro Call StartZelle
26.04.2022 09:57:36
mike49
Hallo onour,
ich komme erst jetzt dazu, mir das anzuschauen. Danke für diese Lösung.
Jetzt sollte nur noch beim Betätigen des 'Druck'-Buttons die Auswahl der zu druckenden Seiten angezeigt werden. Jetzt werden ja immer alle Seiten gedruckt!
Gruß
mike49
Anzeige
AW: Makro Call StartZelle
26.04.2022 11:08:56
mike49
Hallo onour,
habe das Drucken-Makro jetzt so ergänzt und es funktioniert:

Private Sub CommandButton1_Click()
ActiveSheet.Unprotect
Cells(1, 1) = " "
'   ActiveSheet.PrintOut
Application.Dialogs(xlDialogPrint).Show
Cells(1, 1) = ""
Call StartZelle
ActiveSheet.Protect
End Sub

AW: Makro Call StartZelle
25.04.2022 22:37:14
onur
Du solltest mal deine bedForms aufräumen bzw bessere Formeln dafür schreiben. 5 % davon würden auch reichen.
AW: Makro Call StartZelle
26.04.2022 11:12:32
mike49
Danke für den Hinweis.
Aber dafür reichen meine VBA-Kenntnisse nicht aus.
Die bedForms stammen von anderen und ich habe sie übernommen, weil sie funktionieren.
Gruß
mike49
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige