Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Texteingabe prüfen

Texteingabe prüfen
31.07.2006 08:52:48
Harald
Hallo,
ich bekomme über eine Inputbox einen Text, den ich gerne auf Korrektheit überprüfen möchte. Dabei gibt es folgende Möglichkeiten:
Buchstabe[.Buchstabe].Zahl oder Buchstabe[Buchstabe]Zahl
Der erste Buchstabe kann ein A - I sein, der zweite Buchstabe kommt nicht immer vor und die Zahl ist 1-3-stellig.
Folgende Möglichkeiten können also vorkommen:
A.23 - C.a.122 - C.b.2 - Hc14 ...
Kann man dies mittels VBA überprüfen, bevor der Text in eine Zelle übernommen wird, und notfalls eine Fehlermeldung ausgeben und die Inputbox wieder anzeigen?
Meine Programmierkenntnisse sind leider nur gering.
m.f.g.
Harald

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Texteingabe prüfen
31.07.2006 09:36:43
Hans
Hallo Harald,
möglicherweise habe ich das ein oder andere übersehen oder falsch verstanden. Bitte den nachfolgenden Code testen:

Sub WertPruefen()
Dim iChar As Integer
Dim s As String, sTxt As String
Dim bln As Boolean
sTxt = InputBox("Wert eingeben:")
s = sTxt
s = WorksheetFunction.Substitute(s, ".", "")
If Asc(Left(s, 1)) < 65 Or Asc(Left(s, 1)) > 73 Then bln = True
If IsNumeric(Right(s, 1)) = False Then bln = True
s = Right(s, Len(s) - 1)
For iChar = Len(s) To 1 Step -1
If IsNumeric(Mid(s, iChar, 1)) = False Then Exit For
Next iChar
s = Left(s, iChar)
If s = "" Then GoTo INSERT
If Len(s) > 1 Then bln = True
If Asc(s) < 97 Or Asc(s) > 122 Then bln = True
If bln Then
Beep
MsgBox "Ungültige Zeichenfolge!"
Exit Sub
End If
INSERT:
ActiveCell.Value = sTxt
End Sub

gruss hans
Anzeige
AW: Texteingabe prüfen
31.07.2006 10:01:06
Harald
Hallo Hans,
vielen Dank für den guten Ansatz. Damit komme ich schon viel weiter. Allerdings habe ich noch ein Problem - wenn der Fehler angezeigt wird sollte die Inputbox erneut angezeigt werden (also nicht verlassen)werden.
m.f.g.
Harald
AW: Texteingabe prüfen
31.07.2006 10:05:00
Hans
... folgende Erweiterung:

Sub WertPruefen()
Dim iChar As Integer
Dim s As String, sTxt As String
Dim bln As Boolean
sTxt = InputBox("Wert eingeben:")
If sTxt = "" Then Exit Sub
s = sTxt
s = WorksheetFunction.Substitute(s, ".", "")
If Asc(Left(s, 1)) < 65 Or Asc(Left(s, 1)) > 73 Then bln = True
If IsNumeric(Right(s, 1)) = False Then bln = True
s = Right(s, Len(s) - 1)
For iChar = Len(s) To 1 Step -1
If IsNumeric(Mid(s, iChar, 1)) = False Then Exit For
Next iChar
s = Left(s, iChar)
If s = "" Then GoTo INSERT
If Len(s) > 1 Then bln = True
If Asc(s) < 97 Or Asc(s) > 122 Then bln = True
If bln Then
Beep
MsgBox "Ungültige Zeichenfolge!"
Call WertPruefen
End If
INSERT:
ActiveCell.Value = sTxt
End Sub

gruss hans
Anzeige
AW: Texteingabe prüfen
31.07.2006 10:20:21
Harald
Hallo Hans,
vielen Dank für die schnelle Antwort.
m.f.g.
Harald

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige