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

Textbox Sonderzeichen

Forumthread: Textbox Sonderzeichen

Textbox Sonderzeichen
16.08.2021 08:32:17
Peter
Guten Morgen,
ich gebe in eine Textbox einen Namen ein. Durch Drücken eines Button, wird dieser Name mit anderen Teil-Namen und Jahreszahl
zu einem Dateinamen verkettet.
Linker Namenteil in Textbox2 = beliebiger Name mit Gross- und Kleinschreibung, mit Leerzeichen aber keine Sonderzeichen
Mittlerer Namenteil in Textbox3 immer = _ab
Rechter Namenteil in Textbox4 = vierstellige Jahreszahl
Jetzt benötige ich eine Prüfung, dass der Name keine Sonderzeichen haben darf. Könnt ihr mir hierbei bitte helfen.
Gruss
Peter
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox Sonderzeichen
16.08.2021 10:01:12
Oberschlumpf
Hi Peter,

Sub sbTest
Dim lstrDateiname As String
lstrDateiname = Textbox2.Text & Textbox3.Text & Textbox4.Text
If fcMITSonderzeichen(lstrDateiname) = True Then
MsgBox "Dateiname enthält nicht erlaubte Sonderzeichen"
Exit Sub
End If
'ab hier dein Code zum Speichern mit lstrDateiname
End Sub
Function fcMITSonderzeichen(Byval dateiname As String) As Boolean
Dim lstrVergleich As String,liLen As Integer
lstrVergleich = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"
For liLen = 1 To Len(dateiname)
If Instr(lstrVergleich, Mid(dateiname, liLen, 1)) = 0 Then
fcMITSonderzeichen = True
Exit Function
End If
Next
End Function
An die Funktion wird dein Inhalt aus den Textboxen 2,3 + 4 übergeben
In der Funktion wird jedes einzelne Zeichen geprüft, ob es in der Variablen lstrVergleich enthalten ist - wenn JA = alles ok, wenn auch nur 1 Zeichen NICHT enthalten ist, wird die Funktion verlassen und es erscheint die obige MsgBox; auch die obige Sub wird danach sofort verlassen.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Textbox Sonderzeichen
16.08.2021 10:39:52
GerdL
Hi Thorsten,
ich reduziere die Anzahl der Vergleiche.

Sub sbTest_II()
Dim lstrDateiname As String
lstrDateiname = Textbox2.Text & Textbox3.Text & Textbox4.Text
If fcMITSonderzeichen_II(lstrDateiname) = True Then
MsgBox "Dateiname enthält nicht erlaubte Sonderzeichen"
Exit Sub
End If
'ab hier dein Code zum Speichern mit lstrDateiname
End Sub
Function fcMITSonderzeichen_II(ByVal dateiname As String) As Boolean
Dim lstrVergleich As String, liLen As Integer
lstrVergleich = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"
For liLen = 1 To Len(dateiname)
If InStr(lstrVergleich, Mid(UCase$(dateiname), liLen, 1)) = 0 Then
fcMITSonderzeichen_II = True
Exit Function
End If
Next
End Function
Gruß Gerd
Anzeige
AW: Textbox Sonderzeichen erledigt
16.08.2021 10:49:15
Peter
Hallo Thorsten,
besten Dank für Deine Hilfe.
Ich habe das leicht geändert. Funktioniert ebenfalls einwandfrei.
Wünsche noch einen schönen Tag.
Gruss
Peter
AW: Textbox Sonderzeichen
16.08.2021 10:58:27
Oberschlumpf
Hi Gerd,
ja, danke, an L- oder UCase hatte ich in dem Mom nich gedacht - so ist der INSTR-Vergleich 26 Zeichen schneller fertig :-)
Ciao
Thorsten
Anzeige
AW: Textbox Sonderzeichen erledigt
16.08.2021 10:42:42
Peter
Hallo Thorsten,
vielen Dank für Deine Hilfe.
Ich habe mich nicht ganz richtig ausgedrückt. Es soll nur die TextBox2 geprüft werden und hier muss ein Leerzeichen zugelassen sein.
Habe deine Funktion wie folgt geändert:

Private Sub CommandButton1_Click()
Dim lstrDateiname As String
'    lstrDateiname = TextBox2.Text & Textbox3.Text & Textbox4.Text
lstrDateiname = TextBox2.Text
If fcMITSonderzeichen(lstrDateiname) = True Then
MsgBox "Dateiname enthält nicht erlaubte Sonderzeichen"
Exit Sub
End If
'ab hier dein Code zum Speichern mit lstrDateiname
End Sub
Function fcMITSonderzeichen(ByVal dateiname As String) As Boolean
Dim lstrVergleich As String, liLen As Integer
'    lstrVergleich = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"
lstrVergleich = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "
For liLen = 1 To Len(dateiname)
If InStr(lstrVergleich, Mid(dateiname, liLen, 1)) = 0 Then
fcMITSonderzeichen = True
Exit Function
End If
Next
End Function
Funktioniert einwandfrei. Besten Dank nochmals und einen schönen Tag.
Gruss
Peter
Anzeige
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18