Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn ja dann (Makro/MSGBOX)

Forumthread: Wenn ja dann (Makro/MSGBOX)

Wenn ja dann (Makro/MSGBOX)
juergen
Guten Morgen zusammen,
wünsche Euch Allen einen schönen Tag. Benötige wieder einmal die Hilfe des Forums.
Habe unten stehendes Makro zusammen gewürfelt. Läuft aber nicht so wie ich es möchte.
Was ich brauche ist, dass bevor der Druckauftrag ausgeführt wird, dass eine Abfrage erscheint z.B. Drucken Ja / Nein ?.
Bei Nein soll es:
Range("a8:a9").Select
Selection.Copy
Range("g7:g8").Select
ActiveSheet.Paste
Range("j27").Select
nur dass o. g. Ausführen !
Bei Ja soll es:
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")
ausführen!
Kann mir bitte jemand mitteilen, was ich in u. stehendes Makro wo und wie verändern muss damit es funktioniert.
Danke bereits jetzt schon einmal
Gruß
Jürgen
If MsgBox("Soll gedruckt werden?", vbYesNo + vbDefaultButton2) = vbYes Then GoTo Druck
Range("a8:a9").Select
Selection.Copy
Range("g7:g8").Select
ActiveSheet.Paste
Range("j27").Select
Druck:
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")
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wenn ja dann (Makro/MSGBOX)
06.04.2011 10:17:08
Hajo_Zi
Halo Juergen,
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 "Nein"
End If
End Sub


Anzeige
AW: Wenn ja dann (Makro/MSGBOX)
06.04.2011 10:24:35
juergen
Hallo Hajo,
Danke, danke, danke;))
Genau dass habe ich gemeint, Super schnelle Hilfe vielen Dank.
Gruß
Juergen - -----Jipi...........freu...
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

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.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. 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
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige