mal wieder ein banales Problem, welches ich aber nicht hinbekomme.
Wie führe ich ein Makro mit einem Optionsfeld aus. Die Zuweisung alleine reicht wohl nicht.
Schon mal jetzt danke für eure Hilfe
Gruß Vemi
Private Sub OptionButton1_Click()
Call DeinMakro
End Sub
Sub Drucken_Seite_1()
Sheets("Sammel-Ausgabe-Beleg").Select
ActiveSheet.Unprotect
Range("A6:A7,A46:A47,A86:A87,K2:K7,K82:K87,K42:K47,A11:L33,A53:L72,A93:L112").Select
Selection.Interior.ColorIndex = 2
Range("A1:L40").Select
Selection.PrintOut Copies:=1, Collate:=True
Range("A12").Select
End Sub
Um ein Excel-Makro mithilfe eines Optionsfelds auszuführen, folge diesen Schritten:
Erstelle ein Optionsfeld:
Zuweisung des Makros:
VBA-Code hinzufügen:
ALT + F11
.Private Sub OptionButton1_Click()
Call DeinMakro
End Sub
Testen:
Problem: Das Makro bleibt bei einer bestimmten Zeile stehen.
Selection.PrintOut
stehen bleibt, kann dies an einer fehlenden Auswahl oder einem geschützten Blatt liegen. Stelle sicher, dass das Blatt ungeschützt ist, bevor du den Druckbefehl ausführst.Problem: Makro wird nicht ausgeführt.
Wenn du dein Makro schrittweise ausführen möchtest, kannst du die Funktion Application.Wait
oder DoEvents
verwenden, um die Ausführung zu verlangsamen und sicherzustellen, dass Excel alle Befehle korrekt verarbeitet:
Sub DeinMakro()
' Ein Beispiel für eine schrittweise Ausführung
Sheets("Sammel-Ausgabe-Beleg").Select
ActiveSheet.Unprotect
' Warte für 1 Sekunde
Application.Wait (Now + TimeValue("0:00:01"))
' Führe deine Aktionen aus...
End Sub
Hier ist ein einfaches Beispiel, wie du ein Makro schrittweise ausführen kannst:
Sub Drucken_Seite_1()
Sheets("Sammel-Ausgabe-Beleg").Select
ActiveSheet.Unprotect
Range("A1:L40").Select
Selection.Interior.ColorIndex = 2
' Warte auf die Auswahl
DoEvents
Selection.PrintOut Copies:=1, Collate:=True
' Warte bis der Druckauftrag abgeschlossen ist
Application.Wait (Now + TimeValue("0:00:02"))
Range("A12").Select
End Sub
Select
und Activate
, um die Effizienz deines Codes zu verbessern. Arbeite direkt mit den Objekten.Verwende Fehlerbehandlungsroutinen, um unerwartete Fehler zu vermeiden und die Stabilität deiner Makros zu erhöhen:
On Error GoTo Fehlerbehandlung
' Dein Code hier
Exit Sub
Fehlerbehandlung:
MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
1. Wie kann ich sicherstellen, dass mein Makro erfolgreich ausgeführt wird? Stelle sicher, dass alle Objekte korrekt ausgewählt und das Arbeitsblatt nicht geschützt ist. Verwende Debugging, um den Prozess zu überwachen.
2. Was mache ich, wenn mein Optionsfeld nicht funktioniert? Überprüfe die Zuweisung des Makros und stelle sicher, dass der Code im richtigen Modul gespeichert ist. Manchmal kann ein Neustart von Excel helfen, wenn nichts funktioniert.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen