Makro für Druckabfrage in Excel
Schritt-für-Schritt-Anleitung
Um eine Druckabfrage mit einer MsgBox in Excel zu erstellen, kannst Du das folgende Makro verwenden. Dieses Skript fragt den Benutzer, ob er drucken möchte und führt dann die entsprechenden Aktionen aus.
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Klicke im Menü auf Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
-
Füge den folgenden Code in das Modul ein:
Option Explicit
Sub Test()
If MsgBox("Soll gedruckt werden?", vbYesNo + vbQuestion, "Druckabfrage ?") = vbYes Then
Workbooks.Open Filename:= _
"\\Server\sstig\Mengise\Druck-Mnw(Aktuelle-16.03.11)\Becker-HS.xlsm"
ActiveWorkbook.PrintOut Copies:=1
ActiveWindow.Close
Range("A11:A12").Copy Destination:=Range("G7:G8")
Else
Range("a8:a9").Copy Range("g7:g8")
MsgBox "Drucken abgebrochen"
End If
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus, indem Du ALT + F8
drückst und Test
auswählst.
Häufige Fehler und Lösungen
-
Fehler: "Dateipfad nicht gefunden"
- Stelle sicher, dass der angegebene Dateipfad korrekt ist. Der Pfad muss existieren und die Datei muss zugänglich sein.
-
Fehler: MsgBox erscheint nicht
- Überprüfe, ob das Makro korrekt in das Modul eingefügt wurde und dass Du es auch wirklich ausführst.
-
Fehler: Druckauftrag wird nicht ausgeführt
- Stelle sicher, dass Dein Drucker korrekt eingerichtet ist und verbunden ist.
Alternative Methoden
Wenn Du keine MsgBox verwenden möchtest, kannst Du auch InputBox oder benutzerdefinierte Formulare verwenden, um eine Abfrage zu erstellen. Hier ein Beispiel mit InputBox:
Sub TestMitInputBox()
Dim Antwort As String
Antwort = InputBox("Soll gedruckt werden? (ja/nein)")
If LCase(Antwort) = "ja" Then
' Druckvorgang hier
Else
' Aktionen bei "nein"
End If
End Sub
Praktische Beispiele
Angenommen, Du möchtest ein Makro erstellen, das bei einer bestimmten Bedingung eine MsgBox anzeigt. Hier ein einfaches Beispiel:
Sub BeispielMsgBox()
If Range("B1").Value > 10 Then
MsgBox "Der Wert in B1 ist größer als 10."
Else
MsgBox "Der Wert in B1 ist 10 oder kleiner."
End If
End Sub
In diesem Beispiel prüft das Makro den Wert in Zelle B1 und zeigt eine entsprechende Meldung an.
Tipps für Profis
- Verwende
vbInformation
in der MsgBox, um eine Informationsnachricht anzuzeigen.
- Du kannst auch Icons hinzufügen, um die MsgBox ansprechender zu gestalten, indem Du verschiedene vb-Optionen wie
vbExclamation
, vbCritical
usw. verwendest.
- Denke daran, den Code regelmäßig zu speichern, insbesondere wenn Du an umfangreichen Makros arbeitest.
FAQ: Häufige Fragen
1. Kann ich das Makro auf mehrere Arbeitsblätter anwenden?
Ja, Du kannst das Makro so anpassen, dass es auf mehrere Arbeitsblätter angewendet wird, indem Du die entsprechenden Blattnamen in den Code einfügst.
2. Was mache ich, wenn die MsgBox nicht reagiert?
Stelle sicher, dass keine anderen Modalitäten oder Dialogfenster offen sind, die die Ausführung des Makros blockieren.
3. Wie kann ich die MsgBox anpassen?
Du kannst den Text und die Schaltflächen der MsgBox anpassen, indem Du die Parameter in der MsgBox-Funktion änderst.