Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Voreinstellung Msgbox

Voreinstellung Msgbox
23.12.2004 13:36:30
Norbert
Hallo Zusammen,
wie kann ich erreichen, daß standardmäßig das Nein-Feld ausgewählt wird?
Danke!
typ = MsgBox("Wollen Sie das wirklich", vbYesNo)
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Voreinstellung Msgbox
Ramses
Hallo
die Antwort darauf liefert wie in 99% der Fälle die VBA-Online Hilfe.
Suchbegriff "MsgBox"
----------------------------
MsgBox-Funktion

Zeigt eine Meldung in einem Dialogfeld an und wartet darauf, daß der Benutzer auf eine Schaltfläche klickt. Es wird dann einen Wert vom Typ Integer zurückgegeben, der anzeigt, auf welche Schaltfläche der Benutzer geklickt hat.
Syntax
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
Die Syntax der MsgBox-Funktion verwendet die folgenden benannten Argumente:
Teil Beschreibung
prompt Erforderlich. Ein Zeichenfolgenausdruck, der als Meldung im Dialogfeld erscheint. Die Maximallänge von prompt ist - je nach Breite der verwendeten Zeichen - etwa 1024 Zeichen. Wenn prompt aus mehreren Zeilen besteht, müssen Sie die Zeilen mit einem Wagenrücklaufzeichen (Chr(13)), einem Zeilenvorschubzeichen (Chr(10)) oder einer Kombination aus Wagenrücklaufzeichen und Zeilenvorschubzeichen (Chr(13) & Chr(10)) trennen.
buttons Optional. Ein numerischer Ausdruck, der der Summe der Werte entspricht, die Anzahl und Typ der anzuzeigenden Schaltflächen, die Art des zu verwendenden Symbols sowie die Standardschaltfläche und die Bindung des Dialogfeldes angeben. Wenn Sie buttons nicht angeben, ist der Standardwert 0.
title Optional. Ein Zeichenfolgenausdruck, der in der Titelleiste des Dialogfeldes angezeigt wird. Wenn Sie title nicht angeben, wird der Anwendungsname in der Titelleiste angezeigt.
helpfile Ein Zeichenfolgenausdruck, der die Hilfedatei mit der kontextbezogenen Hilfe für das Dialogfeld angibt. Wenn Sie helpfile angeben, müssen Sie auch context angeben.
context Optional. Ein numerischer Ausdruck mit der Hilfekontextkennung, die der Autor der Hilfe für das entsprechende Hilfethema gegeben hat. Wenn Sie context angeben, müssen Sie auch helpfile angeben.
Einstellungen
Das Argument buttons hat die folgenden Einstellungen:
Konstante Wert Beschreibung
vbOKOnly 0 Nur die Schaltfläche OK anzeigen.
VbOKCancel 1 Schaltflächen OK und Abbrechen anzeigen.
VbAbortRetryIgnore 2 Schaltflächen Abbruch, Wiederholen und Ignorieren anzeigen.
VbYesNoCancel 3 Schaltflächen Ja, Nein und Abbrechen anzeigen.
VbYesNo 4 Schaltflächen Ja und Nein anzeigen.
VbRetryCancel 5 Schaltflächen Wiederholen und Abbrechen anzeigen.
VbCritical 16 Meldung mit Stop-Symbol anzeigen.
VbQuestion 32 Meldung mit Fragezeichen-Symbol anzeigen.
VbExclamation 48 Meldung mit Ausrufezeichen-Symbol anzeigen.
VbInformation 64 Meldung mit Info-Symbol anzeigen.
VbDefaultButton1 0 Erste Schaltfläche ist Standardschaltfläche.
VbDefaultButton2 256 Zweite Schaltfläche ist Standardschaltfläche.
VbDefaultButton3 512 Dritte Schaltfläche ist Standardschaltfläche.
VbDefaultButton4 768 Vierte Schaltfläche ist Standardschaltfläche.
VbApplicationModal 0 An die Anwendung gebunden. Der Benutzer muß auf das Meldungsfeld reagieren, bevor er seine Arbeit mit der aktuellen Anwendung fortsetzen kann.
VbSystemModal 4096 An das System gebunden. Alle Anwendungen werden unterbrochen, bis der Benutzer auf das Meldungsfeld reagiert.
vbMsgBoxHelpButton 16384 Adds Help button to the message box
VbMsgBoxSetForeground 65536 Specifies the message box window as the foreground window
vbMsgBoxRight 524288 Text is right aligned
vbMsgBoxRtlReading 1048576 Specifies text should appear as right-to-left reading on Hebrew and Arabic systems
Die erste Gruppe von Werten (0 - 5) beschreibt die Anzahl und den Typ der im Dialogfeld angezeigten Schaltflächen. Die zweite Gruppe (16, 32, 48, 64) beschreibt die Symbolart. Die dritte Gruppe (0, 256, 512) legt die Standardschaltfläche fest. Die vierte Gruppe (0, 4096) legt fest, in welcher Form das Dialogfeld gebunden ist. Verwenden Sie beim Addieren der Zahlen zu einem Gesamtwert für das Argument buttons nur eine Zahl aus jeder Gruppe.
Anmerkung Diese Konstanten sind durch Visual Basic für Applikationen festgelegt. Daher können die Namen an einer beliebigen Stelle im Code anstelle der tatsächlichen Werte verwendet werden.
Rückgabewerte
Konstante Wert Beschreibung
vbOK 1 OK
vbCancel 2 Abbrechen
vbAbort 3 Abbruch
vbRetry 4 Wiederholen
vbIgnore 5 Ignorieren
vbYes 6 Ja
vbNo 7 Nein
Bemerkungen
Wenn sowohl helpfile als auch context angeben werden, kann der Benutzer F1 (Windows) oder HILFE (Macintosh) drücken, um das Hilfethema für context anzuzeigen. Einige Host-Anwendungen, zum Beispiel Microsoft Excel, fügen dem Dialogfeld automatisch die Schaltfläche Hilfe hinzu.
Wenn im Dialogfeld die Schaltfläche Abbrechen angezeigt wird, hat das Drücken von ESC dieselbe Wirkung wie das Klicken auf Abbrechen. Wird im Dialogfeld die Schaltfläche Hilfe angezeigt, wird für das Dialogfeld eine kontextbezogene Hilfe zur Verfügung gestellt. Ein Wert wird aber nur zurückgegeben, wenn auf eine der anderen Schaltflächen geklickt wird.
Anmerkung Wenn Sie außer dem ersten benannten Argument weitere Argumente angeben möchten, müssen Sie MsgBox in einem Ausdruck verwenden. Wenn Sie einige Argumente mit einer bestimmten Position nicht angeben möchten, müssen Sie dennoch das entsprechende Komma als Trennzeichen angeben.

Sub Demo()
Dim Mldg, Stil, Titel, Hilfe, Ktxt, Antwort, Text1
Mldg = "Möchten Sie fortfahren ?"    ' Meldung definieren.
Stil = vbYesNo + vbCritical + vbDefaultButton2    ' Schaltflächen
' definieren.
Titel = "MsgBox-Demonstration"    ' Titel definieren.
Hilfe = "DEMO.HLP"    ' Hilfedatei
' definieren.
Ktxt = 1000    ' Kontext für Thema
' definieren.
Antwort = MsgBox(Mldg, Stil, Titel, Hilfe, Ktxt)    ' Meldung anzeigen.
If Antwort = vbYes Then    ' Benutzer hat "Ja"
' gewählt.
Text1 = "Ja"    ' Operation ausführen.
Else    ' Benutzer hat "Nein"
' gewählt.
Text1 = "Nein"    ' Operation ausführen.
End If
End Sub

------------------------------
Gruss Rainer
Anzeige
AW: Voreinstellung Msgbox
Heiko
MsgBox("Beispiel für Ja / Nein Abfage", vbYesNo + vbDefaultButton2, " Überschrift.")
Gruß Heiko
AW: Voreinstellung Msgbox
23.12.2004 14:18:48
Norbert
dankeschön!
;
Anzeige
Anzeige

Infobox / Tutorial

Voreinstellung der MsgBox in Excel VBA


Schritt-für-Schritt-Anleitung

Um die Voreinstellung der MsgBox in Excel VBA so zu gestalten, dass standardmäßig das "Nein"-Feld ausgewählt ist, kannst du die Konstanten vbYesNo und vbDefaultButton2 verwenden. Hier ist ein einfaches Beispiel, wie du dies umsetzen kannst:

Sub MsgBoxMitStandardNein()
    Dim Antwort As Integer
    Antwort = MsgBox("Wollen Sie das wirklich?", vbYesNo + vbDefaultButton2, "Bestätigung")

    If Antwort = vbYes Then
        ' Code für den Fall "Ja"
    Else
        ' Code für den Fall "Nein"
    End If
End Sub

In diesem Beispiel wird die MsgBox mit der Frage angezeigt, und das "Nein"-Feld ist standardmäßig ausgewählt.


Häufige Fehler und Lösungen

  1. Fehler: MsgBox zeigt nicht die erwartete Schaltfläche als Standard
    Lösung: Stelle sicher, dass du die Konstanten korrekt kombinierst. Zum Beispiel: vbYesNo + vbDefaultButton2.

  2. Fehler: MsgBox wird nicht angezeigt
    Lösung: Überprüfe, ob der VBA-Code in einem Modul eingefügt und korrekt aufgerufen wird.


Alternative Methoden

Es gibt verschiedene Möglichkeiten, eine MsgBox in Excel VBA zu gestalten. Hier sind einige Alternativen:

  • Verwendung von vbCritical: Wenn du eine kritische Meldung anzeigen möchtest. Beispiel:

    MsgBox("Achtung! Kritische Meldung.", vbCritical + vbOKOnly, "Kritische Warnung")
  • Mehrere Schaltflächen: Du kannst auch Kombinationen wie vbYesNoCancel verwenden, um mehr Optionen anzubieten:

    MsgBox("Möchten Sie die Änderungen speichern?", vbYesNoCancel + vbDefaultButton2, "Änderungen speichern")

Praktische Beispiele

Hier sind einige praktische Beispiele, in denen du die MsgBox anpassen kannst:

  1. Einfache Ja/Nein-Abfrage:

    MsgBox("Wollen Sie fortfahren?", vbYesNo + vbDefaultButton2, "Fortfahren?")
  2. Kritische Warnung mit Hilfe-Button:

    MsgBox("Ein kritischer Fehler ist aufgetreten!", vbCritical + vbMsgBoxHelpButton, "Fehler")
  3. Mit Hilfe einer Variablen für die Rückgabe:

    Dim Antwort As Integer
    Antwort = MsgBox("Sind Sie sicher?", vbYesNo + vbDefaultButton2, "Sicherheitsabfrage")
    If Antwort = vbNo Then
       ' Abbrechen der Aktion
    End If

Tipps für Profis

  • Nutze die vbMsgBoxSetForeground-Konstante, um sicherzustellen, dass deine MsgBox im Vordergrund angezeigt wird:

    MsgBox("Dies ist wichtig!", vbOKOnly + vbMsgBoxSetForeground, "Wichtig")
  • Kombiniere verschiedene Schaltflächen und Symbole, um deine Meldungen klarer zu gestalten. Beispielsweise:

    MsgBox("Daten erfolgreich gespeichert.", vbInformation + vbOKOnly, "Erfolg")

FAQ: Häufige Fragen

1. Wie kann ich die Titelzeile der MsgBox ändern?
Du kannst den Titel einfach als drittes Argument in der MsgBox-Funktion angeben, wie im Beispiel gezeigt.

2. Welche Schaltflächen kann ich in einer MsgBox verwenden?
Du kannst verschiedene Kombinationen wie vbOKOnly, vbYesNo, vbRetryCancel und viele andere verwenden, um die Schaltflächen anzupassen.

3. Wie kann ich eine MsgBox mit HTML-Inhalten erstellen?
Die MsgBox unterstützt kein HTML, du kannst jedoch einfache Textformatierungen verwenden. Wenn du HTML benötigst, solltest du ein UserForm in VBA in Betracht ziehen.

4. Was passiert, wenn der Benutzer ESC drückt?
Wenn du eine MsgBox mit der Schaltfläche "Abbrechen" oder "Nein" hast, hat das Drücken von ESC die gleiche Wirkung wie das Klicken auf die "Abbrechen"-Schaltfläche.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige