ich habe eine frage zu VBA. Gibt es eine Möglichkeit eine Textbox auf den inhalt email zu prüfen, ählich wie isnumirc oder istext?
vielen Dank in vorraus
Excel hat auch eine Hilfe
If Instr(Textbox1,"@")>0
Option Explicit
Private Sub TextBox1_LostFocus()
If Len(Trim$(TextBox1.Value)) = 0 Then Exit Sub
Dim Regex As Object: Set Regex = CreateObject("vbscript.regexp")
With Regex
.ignorecase = True
.Pattern = "\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"
MsgBox "E-MAil Adresse ist " & IIf(.Test(TextBox1.Value), "", "un") & "gültig!"
End With
End Sub
GrüßeUm eine E-Mail-Adresse in einer Textbox mit VBA zu überprüfen, kannst du die folgenden Schritte befolgen:
Öffne das VBA-Editor-Fenster:
ALT + F11, um den VBA-Editor zu öffnen.Wähle das richtige Modul aus:
Füge den folgenden Code ein:
Option Explicit
Private Sub TextBox1_LostFocus()
If Len(Trim$(TextBox1.Value)) = 0 Then Exit Sub
Dim Regex As Object: Set Regex = CreateObject("vbscript.regexp")
With Regex
.IgnoreCase = True
.Pattern = "\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"
MsgBox "E-Mail Adresse ist " & IIf(.Test(TextBox1.Value), "", "un") & "gültig!"
End With
End Sub
TextBox1 der Name deiner Textbox ist.Fehler: Object variable or With block variable not set
Lösung: Stelle sicher, dass du die Regex-Objektvariable korrekt initialisiert hast (Set Regex = CreateObject("vbscript.regexp")).
Fehler: Ungültige E-Mail-Adresse wird als gültig erkannt
Lösung: Überprüfe, ob der Regex-Ausdruck korrekt ist. Er sollte sicherstellen, dass die E-Mail-Adresse den richtigen Aufbau hat.
Eine einfache Methode zur Überprüfung von Textboxen ist die Verwendung der Instr()-Funktion. Damit kannst du prüfen, ob ein "@" in der E-Mail-Adresse vorhanden ist:
If Instr(TextBox1.Value, "@") > 0 Then
MsgBox "E-Mail Adresse scheint gültig zu sein!"
Else
MsgBox "E-Mail Adresse ungültig!"
End If
Diese Methode ist weniger robust als die Regex-Überprüfung, eignet sich aber für einfache Prüfungen.
Angenommen, du möchtest sowohl einen Namen als auch eine E-Mail-Adresse in zwei verschiedenen Textboxen überprüfen. Du könntest den folgenden Code verwenden:
Private Sub btnSubmit_Click()
If Len(Trim$(TextBox1.Value)) = 0 Then
MsgBox "Bitte Namen eingeben."
Exit Sub
End If
If Len(Trim$(TextBox2.Value)) = 0 Or Instr(TextBox2.Value, "@") = 0 Then
MsgBox "Bitte gültige E-Mail-Adresse eingeben."
Exit Sub
End If
MsgBox "Eingaben sind gültig!"
End Sub
Hier wird zuerst der Name in TextBox1 und dann die E-Mail-Adresse in TextBox2 überprüft.
On Error-Anweisungen, um sicherzustellen, dass dein Programm nicht abstürzt, wenn unerwartete Eingaben gemacht werden.1. Wie kann ich überprüfen, ob ein Text in einer Textbox ein gültiger Name ist?
Du kannst einfache Prüfungen durchführen, indem du sicherstellst, dass der Text keine Zahlen enthält oder nur aus Buchstaben besteht.
2. Ist die Verwendung von IsText in VBA sinnvoll für E-Mail-Prüfungen?
IsText prüft lediglich, ob der Inhalt Text ist. Es ist nicht geeignet, um spezifische Formate wie E-Mail-Adressen zu validieren, weshalb Regex oder Instr() die bessere Wahl sind.