Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Ausstieg Makro + allgem. Makro-Frage





Frage

Guten Morgen! Im www habe ich einen Teil des nachstehenden Makros gefunden. Sub Makro4() Application.ScreenUpdating = False Dim sPrinter As String Dim Dialog sPrinter = Application.ActivePrinter Dialog = Application.Dialogs(xlDialogPrinterSetup).Show If Dialog = vbCancel Then GoTo Ende ActiveSheet.PrintPreview Application.ActivePrinter = sPrinter Application.ScreenUpdating = True Exit Sub Ende: Msgbox "Makro-Lauf abgebrochen", 16, "Hinweis:" End Sub Wie muss ich das Makro abändern, damit bei "Abbrechen" zu "Ende" gesprungen wird? [u]allgem. Makro-Frage:[/u] Im Forum habe ich erfahren, dass ein Makro auch andere Makros mit call aufrufen kann. Leider funktioniert dies nicht bei mir. Beispiel: Sub alle() call Kopfzeile End Sub Fehlermeldung: Fehler beim Kopilieren: Variable oder Prozedur anstelle eines Moduls erwartet. Was habe ich falsch gemacht? Wenn ich den Markonamen von Kopfzeile auf z. B. Makro3 umbennen und Makro3 aufrufe, funktioniert alles. Thanx Tom

Antwort 1 von coros

Hallo Tom,

nachfolgend das geänderte Makro, dass bei Betätigen der Abbrechen-Taste das Makro beenden sollte. Es wurde lediglich um die Auswertung

Or Dialog = False 


ergänzt, da der Dialog die Eigenschaft "False" annimmt, wenn man auf die Schaltfläche drückt.

Option Explicit

Sub Makro4()
Application.ScreenUpdating = False
Dim sPrinter As String
Dim Dialog
sPrinter = Application.ActivePrinter
Dialog = Application.Dialogs(xlDialogPrinterSetup).Show
If Dialog = vbCancel Or Dialog = False Then GoTo Ende
ActiveSheet.PrintPreview
Application.ActivePrinter = sPrinter
Application.ScreenUpdating = True
Exit Sub
Ende:
MsgBox "Makro-Lauf abgebrochen", 16, "Hinweis:"
End Sub


Zu dem 2. Problem, Du hast nicht zufällig als Modulnamen und als Makronamen den Namen "Kopfzeile" benutzt? Das darf nämlich nicht sein. Der Modulname muss anders lauten als der Makroname. Aufgerufen werden darf dann auch nur der Makroname, nicht aber der Modulname.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Tomschi

Hallo Oliver!

Vielen, vielen Dank für Deine Unterstützung!

Problem 1 = gelöst
Problem 2 --> in der Tat war ein Modulame mit dem Makronamen ident.

Thanx

Tom

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: