Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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
Automatisiert Leerzeichen in Textbox ergänzen
Malcolm_p
Hallo miteinender,
in einer Textbox soll eine Artikelnummer eingegeben werden. Die Art-Nr. besteht regelmäßig aus zwei bis vier vorangestellten Buchstaben und dann aus ein bis vier Ziffern.
Da die Artikelnummer eindeutig angelegt werden muss, habe ich Leerzeichen (Ascii 34) bei der Textbox-Eingabe ausgeschlossen. Der Besseren Übersicht halber möchte ich aber den Buchstabenblock vom Zahlenblock durch ein (wirklich nur ein) Leezeichen trennen. D.h:
Beispielsweise aus der Eingabe von "AAC123" soll "AAC 123" werden oder aus "BB3", "BB 3". Im Anschluss soll die Textbox ausgelesen werden.
Nun probiere ich schon ewig mit Selcet Case etc. herum, jedoch ohne Erfolg.
Wir bringe ich VBA dazu nach Verlassen der Textbox ein Leerzeichen zwischen den alphanumerischen und numerischen Block des Textes zu bringen?
Herzlichen Dank für eure Unterstützung.
Gruß Malcolm

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Automatisiert Leerzeichen in Textbox ergänzen
01.09.2011 19:04:58
Malcolm_p
Hallo,
manchmal platzt der Knoten und man kommt selber drauf:
Ich habs jetzt so gelöst. Vielleicht nicht sehr smart aber es funktioniert.

Private Sub TextBox1_AfterUpdate()
Dim i As Integer
Dim ART As String
For i = 2 To Len(TextBox1)
If IsNumeric(Mid(TextBox1.Text, i, 1)) = True And IsNumeric(Mid(TextBox1.Text, i - 1, 1)) =  _
False Then
ART = Left(TextBox1.Text, i - 1) & " " & Right(TextBox1.Text, Len(TextBox1) - i + 1)
TextBox1 = ART
Exit Sub
End If
Next
End Sub
Dennoch Danke für den Fall, dass sich schon jemand gedanken gemacht hat.
Gruß
Malcolm
Anzeige
AW: Automatisiert Leerzeichen in Textbox ergänzen
01.09.2011 19:15:08
Tino
Hallo,
hier eine andere Variante.

Private Function Split_Text_Zahl(strText$)
Dim objMatch As Object

Const sZahlenAndText$ = "\d+,\d+|\d+|\D+"

With CreateObject("Vbscript.Regexp")
  .MultiLine = True
  .Pattern = sZahlenAndText
  .Global = True
    For Each objMatch In .Execute(strText)
       Split_Text_Zahl = Split_Text_Zahl & objMatch.Value & " "
    Next objMatch
End With
Split_Text_Zahl = Trim$(Split_Text_Zahl)
End Function

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1 = Split_Text_Zahl(TextBox1)
End Sub
Gruß Tino
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige