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

Forumthread: MsgBox oder Assistant mit Eingabemöglichkeit

MsgBox oder Assistant mit Eingabemöglichkeit
21.12.2004 15:37:33
Giuseppe
hallo VBA-Profis
Kann mann "MsgBox" oder "Assistant" mit einem
Eingabefeld formatieren.
Ich möchte gerne Eine Meldung:
Überschrift: "Passworteingabe"
Text: "Bitte geben Sie das Passwort ein:"
Feld:
Button: OK - Abbruch
kann man sowas im VBA machen, ohne ein "UserForm"
zu kreieren?
mfG
Giuseppe
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MsgBox oder Assistant mit Eingabemöglichkeit
Dr.
VB-Hilfe, Stichwort "InputBox".
AW: MsgBox oder Assistant mit Eingabemöglichkeit
21.12.2004 15:48:40
Giuseppe
Danke Dr.
Ich hatte eine ganze Weile nach einem solchen Ausdruck gesucht...
Dafür habe ich ein wenig dazugelernt, über "MsgBox und Assistant"
mfG
Giuseppe
AW: MsgBox oder Assistant mit Eingabemöglichkeit
René
hallo versuchs mal so,
MsgBox "Bitte geben Sie das Passwort ein.", vbOKCancel, "Passworteingabe."
Gruß
René
Anzeige
AW: MsgBox oder Assistant mit Eingabemöglichkeit
21.12.2004 15:51:40
Giuseppe
hallo René
Danke.
Aber wo gebe ich das Passwort ein?
mfG
Giuseppe
AW: MsgBox oder Assistant mit Eingabemöglichkeit
René
Du willst also eine Passworteingabe haben?
Passwort = inputbox("Bitte geben Sie das Passwort ein", "Passworteingabe")
AW: MsgBox oder Assistant mit Eingabemöglichkeit
21.12.2004 21:07:04
H.W
Hallo Giuseppe
aus meinem Archiv. Button erzeugen und Code eingeben. Passwort "abc"

Sub Passwort_pruefen()
Dim PWort As String, PWEingabe As String, Fehler As Byte
PWort = "abc"
Fehler = 1
nochmal:
' Die Passwort Eingabe wird geprüft
PWEingabe = InputBox("Bitte geben sie Ihr Passwort ein" & Chr(13) & _
"", "Passwortabfrage")   '"Das richtige Passwort lautet: ""abc"""
If PWEingabe <> PWort Then
' Prüfen wie oft bereits Fehler
If Fehler < 3 Then
MsgBox "Sie haben kein oder ein ungültiges Passwort eingegeben!", _
vbOKOnly, "Falsche Eingabe"
Fehler = Fehler + 1 ' Fehler zählen
GoTo nochmal ' Zurück zur Passworteingabe
Else
MsgBox "Sie haben 3 Mal ein falsches Passwort eingegeben" _
& Chr(13) & "Die Datei wird geschlossen"
' Datei ohne Speichern schließen
ThisWorkbook.Close SaveChanges:=False
End If
Else
MsgBox "Ihre Passwort-Eingabe war OK"
End If
End Sub


Tschüs H.W
Anzeige
AW: MsgBox oder Assistant mit Eingabemöglichkeit
22.12.2004 15:58:54
Giuseppe
hallo H.W Schmidt
Herzlichen Dank.
Das Makro ist perfekt.
Ich habe es schon in mein Programm eingebaut und auch getestet.
Es könnte nicht besser sein.
P.S.
Ihr Forum ist in jeder Hinsicht super !
Einen grossen Dank, geht auch an alle Leute, die jeden Tag unermüdlich
und kompetent Fragen von X-Personen beantworten.
EIN GROSSES KOMPLIMENT!
mfG
Giuseppe
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

MsgBox und InputBox in Excel VBA nutzen


Schritt-für-Schritt-Anleitung

Um in Excel VBA eine Eingabeaufforderung zu erstellen, kannst Du die InputBox-Funktion verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDateiName)" und wähle "Einfügen" > "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Sub PasswortAbfrage()
       Dim Passwort As String
       Passwort = InputBox("Bitte geben Sie das Passwort ein:", "Passworteingabe")
       If Passwort = "abc" Then
           MsgBox "Zugriff gewährt!", vbOKOnly, "Erfolg"
       Else
           MsgBox "Falsches Passwort!", vbOKOnly, "Fehler"
       End If
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro zu testen.

Mit dieser Methode kannst Du eine einfache Passwortabfrage in Excel umsetzen, ohne ein umfangreiches UserForm erstellen zu müssen.


Häufige Fehler und Lösungen

  • Fehler: Variable nicht definiert

    • Lösung: Stelle sicher, dass alle Variablen korrekt deklariert sind.
  • Fehler: Runtime Error 1004

    • Lösung: Dies kann auftreten, wenn Du versuchst, auf ein nicht vorhandenes Arbeitsblatt zuzugreifen. Überprüfe die Namen der Arbeitsblätter.
  • Problem: Die MsgBox erscheint nicht.

    • Lösung: Überprüfe, ob der Code korrekt ausgeführt wird und keine Fehler aufgetreten sind.

Alternative Methoden

Falls Du eine andere Methode zur Eingabe von Daten in Excel VBA benötigst, kannst Du stattdessen ein UserForm erstellen. Dies bietet Dir mehr Gestaltungsmöglichkeiten. Wenn Du ein UserForm erstellst, kannst Du Textfelder und Schaltflächen hinzufügen, um eine benutzerfreundliche Oberfläche zu schaffen.


Praktische Beispiele

Hier sind ein paar praktische Beispiele für die Verwendung von MsgBox und InputBox in Excel VBA:

  1. Einfaches Passwort-Prüfungsbeispiel:

    Sub PasswortPruefen()
       Dim Eingabe As String
       Eingabe = InputBox("Bitte geben Sie das Passwort ein:", "Passworteingabe")
       If Eingabe <> "geheim" Then
           MsgBox "Zugriff verweigert!", vbExclamation, "Fehler"
       Else
           MsgBox "Willkommen!", vbInformation, "Zugriff gewährt"
       End If
    End Sub
  2. Passwort mit Fehlerzählung:

    Sub PasswortMitFehler()
       Dim PWort As String, PWEingabe As String, Fehler As Integer
       PWort = "abc"
       Fehler = 0
       Do While Fehler < 3
           PWEingabe = InputBox("Bitte geben Sie Ihr Passwort ein:", "Passwortabfrage")
           If PWEingabe = PWort Then
               MsgBox "Zugriff gewährt!", vbOKOnly, "Erfolg"
               Exit Sub
           Else
               Fehler = Fehler + 1
               MsgBox "Falsches Passwort! Versuch: " & Fehler, vbCritical, "Fehler"
           End If
       Loop
       MsgBox "Drei falsche Versuche. Zugriff verweigert.", vbCritical, "Zugriff verweigert"
    End Sub

Tipps für Profis

  • Nutze die Option vbOKCancel in der MsgBox, um dem Benutzer eine Wahl zu geben.
  • Verwende vbExclamation oder vbCritical, um die Art der Meldung anzupassen.
  • Denke daran, die InputBox-Eingabe zu validieren, um unerwartete Eingaben zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich eine MsgBox mit Eingabefeld kombinieren?
Nein, die MsgBox unterstützt keine Eingabefelder. Verwende stattdessen die InputBox, um Benutzereingaben zu erhalten.

2. Wie kann ich die InputBox in einer Schleife verwenden?
Du kannst eine Do While-Schleife verwenden, um mehrere Eingaben zu akzeptieren, bis eine Bedingung erfüllt ist.

3. Gibt es eine Möglichkeit, die Eingabe in der InputBox zu maskieren (z.B. für Passwörter)?
Die Standard-InputBox unterstützt keine Maskierung. Du müsstest ein UserForm verwenden, um diese Funktionalität zu integrieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige