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

Datei schließen nach msgbox

Forumthread: Datei schließen nach msgbox

Datei schließen nach msgbox
24.07.2016 13:27:15
Mike
Hallo zusammen,
ich habe folgendes Problem. Ich habe eine Datei, welche beim öffnen eine msgbox öffnen soll, indem gesagt wird, das die Datei auf eigenes Risiko benutzt wird. Entweder klickt der Anwender dann auf "Ja" und kann die Datei benutzen, oder er klickt auf "Nein" und die Datei wird wieder geschlossen.
Ich hatte mir das ganze so gedacht, aber irgendwie funktioniert das nicht ganz.
Private Sub Workbook_Open()
Antwort = MsgBox("Das benutzen dieser Datei geschieht auf eigenes Risiko!" & Chr(13) & _
"Haben Sie das verstanden?", vbYesNo, "Information")
If Antwort = 7 Then
Application.DisplayAlerts = False
aktiveWorkbook.Close
Application.DisplayAlerts = True
Else
End If
End Sub

Vielleicht kann mir jemand helfen, wo mein Fehler liegt.
Danke im voraus.
Mike
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei schließen nach msgbox
24.07.2016 13:32:16
Hajo_Zi
Du solltest Option Explicit benutzen. Das mache nur Leute die sich mit VBA auskennen. Laien brauch das nicht.
Dann hättest Du gesehen das es falsch geschrieben ist.
Option Explicit
Private Sub Workbook_Open()
Dim Antwort As Integer
Antwort = MsgBox("Das benutzen dieser Datei geschieht auf eigenes Risiko!" & Chr(13) & _
"Haben Sie das verstanden?", vbYesNo, "Information")
If Antwort = 7 Then
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
Else
End If
End Sub

Anzeige
AW: Datei schließen nach msgbox
24.07.2016 13:43:02
Mike
Hallo Hajo,
vielen Dank für Deine schnelle Antwort. Ich habe jetzt Deine Programmierung übernommen. Nur leider kommt die msgbox immer noch nicht beim öffnen der Datei. Wenn ich das Makro so durchlaufen lasse, funktioniert es, aber startet nicht beim öffnen der Datei.
Kann man auch Excel komplett schließen und nicht nur die Datei, wenn man auf "Nein" klickt?
Mike
Anzeige
AW: Datei schließen nach msgbox
24.07.2016 13:47:27
Hajo_Zi
Hallo Mike,
in meiner Datei geht es. Deine sehe ich nicht. Ich schaue nicht auf fremde Rechner.
Gruß Hajo
AW: Datei schließen nach msgbox
24.07.2016 13:53:27
Mike
Hallo Hajo,
stimmt, entschuldige. In einer neuen leeren Datei funktioniert es, in der bestehenden Datei nicht. Muß nochmal schauen, woran es liegt. Gib es auch einen Befehl, Excel komplett zu schließen, bei drücken der "Nein-Taste" in der msgbox?
Mike
Anzeige
AW: Datei schließen nach msgbox
24.07.2016 13:57:14
Hajo_Zi
Halo Mike,
es kommt ab und zu vor das eine Datei einen Fehler hat. Da hilft meist nur eine neue Datei.
Gruß Hajo
Application.Quit schließt Excel komplett, owT
25.07.2016 12:57:16
Michael
;
Anzeige

Infobox / Tutorial

Datei schließen nach MsgBox in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine MsgBox beim Öffnen einer Excel-Datei anzuzeigen und die Datei gegebenenfalls zu schließen, kannst Du folgenden VBA-Code verwenden. Achte darauf, dass der Code im Modul ThisWorkbook eingefügt wird.

Option Explicit
Private Sub Workbook_Open()
    Dim Antwort As Integer
    Antwort = MsgBox("Das Benutzen dieser Datei geschieht auf eigenes Risiko!" & Chr(13) & _
                     "Haben Sie das verstanden?", vbYesNo, "Information")
    If Antwort = vbNo Then
        Application.DisplayAlerts = False
        ActiveWorkbook.Close
        Application.DisplayAlerts = True
    End If
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Doppelklicke auf ThisWorkbook im Projektfenster.
  3. Füge den obigen Code ein und schließe den Editor.
  4. Speichere die Datei als .xlsm, um die Makros zu aktivieren.

Häufige Fehler und Lösungen

  • MsgBox erscheint nicht beim Öffnen der Datei:

    • Stelle sicher, dass Du die Datei als .xlsm gespeichert hast.
    • Überprüfe, ob Makros in den Excel-Optionen aktiviert sind.
  • ActiveWorkbook.Close funktioniert nicht:

    • Verwende den korrekten Namen ActiveWorkbook (nicht aktiveWorkbook).
  • Excel komplett schließen:

    • Um Excel vollständig zu schließen, kannst Du Application.Quit anstelle von ActiveWorkbook.Close verwenden:
    If Antwort = vbNo Then
      Application.Quit
    End If

Alternative Methoden

Neben der MsgBox kannst Du auch UserForms verwenden, um eine benutzerdefinierte Eingabeaufforderung zu erstellen. Dies gibt Dir mehr Kontrolle über das Design und die Benutzerinteraktion.

  1. Erstelle ein neues UserForm im VBA-Editor.
  2. Füge Schaltflächen für "Ja" und "Nein" hinzu.
  3. Verwende den Code, um das UserForm beim Öffnen der Arbeitsmappe anzuzeigen.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du Excel mit einer MsgBox verwenden kannst:

Private Sub Workbook_Open()
    Dim Antwort As Integer
    Antwort = MsgBox("Möchten Sie fortfahren?", vbYesNo + vbQuestion, "Fortfahren?")
    If Antwort = vbNo Then
        Application.Quit
    End If
End Sub

Dieses Beispiel fragt den Benutzer, ob er fortfahren möchte. Wenn der Benutzer "Nein" wählt, wird Excel geschlossen.


Tipps für Profis

  • Verwende Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
  • Teste Deine Makros regelmäßig in einer neuen Datei, bevor Du sie in bestehenden Dateien anwendest.
  • Baue Fehlerbehandlungsroutinen ein, um unerwartete Probleme zu lösen.

FAQ: Häufige Fragen

1. Wie kann ich die MsgBox anpassen?
Du kannst die Texte in der MsgBox nach Belieben ändern, um spezifische Informationen zu geben.

2. Was mache ich, wenn die MsgBox immer noch nicht erscheint?
Überprüfe die Makrosicherheitseinstellungen in Excel und stelle sicher, dass sie nicht blockiert werden.

3. Kann ich die MsgBox mehrsprachig gestalten?
Ja, Du kannst verschiedene Texte basierend auf der Sprache des Benutzers programmieren, indem Du die Windows-Sprache abfragst.

4. Ist es möglich, die Datei ohne Bestätigung zu schließen?
Ja, Du kannst den Application.DisplayAlerts auf False setzen, um Bestätigungen zu umgehen, aber sei vorsichtig, da dies zu Datenverlust führen kann.

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