So verwenden Sie MsgBox & InputBox in VBA für eine bessere Interaktion

Erfassen von Benutzerantworten mit MsgBox mit If… Oder

In einigen Fällen müssen wir die Präferenzen des Benutzers aus MsgBox erfassen,  um den nächsten Schritt im VBA-Code zu bestimmen. Dies kann erreicht werden, indem MsgBox Ergebnisse in Variablen gespeichert und If…Else verwendet werden, um Benutzerantworten zu verarbeiten.

Beispiele für die Verwendung von MsgBox zum Erfassen von Benutzerantworten:

Dim response As Integer
response = MsgBox(“Are you sure you want to continue?”, vbYesNo + vbQuestion, “Confirm”)

If response = vbYes Then
    MsgBox “You chose Yes!”, vbInformation, “Result”
Else
    MsgBox “You chose No!”, vbExclamation, “Result”
End If

Kennenlernen des Eingabefelds in VBA

Input Box (InputBox) ist eine Funktion in VBA (Visual Basic for Applications) die es Benutzern ermöglicht, Daten in Form von Text oder Zahlen über ein einfaches Dialogfenster einzugeben. InputBox wird häufig verwendet, um Informationen von Benutzern anzufordern, z. B. Namen, Nummern, Datumsangaben oder andere Daten, die für die VBA-Verarbeitung erforderlich sind.

Grundlegende Syntax von InputBox

Die grundlegende Syntax für die Anzeige von InputBox in VBA lautet wie folgt:

Dim userName As String
userName =InputBox(“Enter your name:”, “Input Data”)
MsgBox “Hello, “ &   userName  &  “!”

Erklärung des Codes:

  1. InputBox zeigt einen Dialog mit dem Text “Enter your name:” an.
  2. Die Daten, die der Benutzer eingibt, werden in der Variablen userName gespeichert.
  3. MsgBox zeigt die Begrüßung “Hallo, [Name eingegeben]!” an. nachdem der Benutzer auf OK geklickt hat.

Festlegen des Standardwerts in der InputBox

Sie können den Standardwert in InputBox festlegen, um ein Beispiel für die erwartete Eingabe bereitzustellen.

Beispielcode mit Standardwerten:

Dim city As String
city =InputBox(“Enter your city name:”“,  “Input Data”, “Jakarta”)
MsgBox “You live in “ &   city  &  “!”

Erklärung:

  • “Jakarta” wird als Standardtext im InputBox angezeigt.
  • Benutzer können den Standardwert bearbeiten oder direkt OK drücken, um den Standardwert zu verwenden.

Eingabevalidierung über die InputBox, um sicherzustellen, dass die Eingabedaten korrekt sind

Da InputBox nur Eingaben in Form von Text erhält, ist es wichtig zu überprüfen, ob die eingegebenen Daten den Erwartungen entsprechen.

Beispiel für die Validierung von Eingaben, damit sie nicht leer sind:

Dim userInput As String
userInput = InputBox(“Enter your email:”, “Input Email”)

If userInput = ““ Then
            MsgBox “Input cannot be empty!”, vbExclamation, “Warning”
Else
            MsgBox “The email you entered: “ & userInput, vbInformation, “Confirmation”
End If

Erklärung:

  • Wenn der Benutzer auf OK drückt, ohne die Daten einzugeben, wird eine Warnung angezeigt.
  • Liegt eine gültige Eingabe vor, erscheint eine Bestätigung mit den eingegebenen Daten.

Ein Beispiel für die Eingabevalidierung akzeptiert nur Zahlen:

Dim age As String
age = InputBox(“Enter your age:”, “Input Age”)

If IsNumeric(age) Then
            MsgBox “Your age is “ & age & “ years.”, vbInformation, “Confirm”
Else
            MsgBox “Please enter a valid number!”, vbCritical, “Error”
End If

Erklärung:

  • IsNumeric() wird verwendet, um zu überprüfen, ob es sich bei der Eingabe um eine Zahl handelt.
  • Wenn es sich nicht um eine Zahl handelt, wird eine Fehlerwarnung angezeigt.

Vergleich von MsgBox und InputBox: Wann sollte man es verwenden?

In VBA (Visual Basic for Applications) werden sowohl Message Box (MsgBox) als  auch Input Box (InputBox) verwendet, um mit Benutzern zu interagieren, aber sie unterscheiden sich in ihren Funktionen und der Art und Weise, wie sie verwendet werden. MsgBox konzentriert sich mehr auf die Bereitstellung von Informationen und das Erhalten von Antworten in Form von Schaltflächenoptionen, während InputBox verwendet wird, um direkte Eingaben von Benutzern zu erhalten.

Hier ist ein Vergleich zwischen MsgBox und InputBox basierend auf ihren Hauptmerkmalen:

MerkmalMeldungsfeld (MsgBox)Eingabefeld (InputBox)
HauptfunktionenMeldungen anzeigen und eine Antwort erhalten (Ja/Nein/Abbrechen)Anfordern von Eingaben von Benutzern (Text/Zahlen)
BenutzerinteraktionBeschränkt auf verfügbare TastenKann Text- oder Zahleneingaben akzeptieren
AnpassungSie können Symbole und Titel hinzufügenKann Standardwerte anzeigen
AnwendungsbeispieleBenachrichtigungen, Warnungen, AktionsbestätigungenDateneingabemaske, Suche, Validierung

Wann sollte MsgBox verwendet werden?

Verwenden Sie MsgBox,  wenn Sie Folgendes tun möchten:

  • Zeigt Warnungen oder Informationen für Benutzer an.
  • Bitten Sie um eine Bestätigung der Aktion, bevor Sie den Vorgang ausführen.
  • Bietet die Wahl zwischen Yes/No,  OK/Cancel oder anderen Schaltflächen.

Wann sollte InputBox verwendet werden?

Verwenden Sie InputBox,  wenn Sie Folgendes tun möchten:

  • Fordert Benutzer auf, Text, Zahlen oder andere erforderliche Daten einzugeben.
  • Verwenden Sie Benutzereingaben als Parameter im VBA-Prozess.
  • Ermöglicht Benutzern das Ausfüllen von Formularen oder das Durchführen von Suchvorgängen.

Neueste Artikel