Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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
Inhaltsverzeichnis

nach Großbuchstaben splitten

nach Großbuchstaben splitten
27.01.2020 09:16:50
Blue
Servus zusammen,
ich lese jetzt schon länger als gast mit und ich muss sagen in diesem Forum wurde mir schon viel geholfen, an dieser Stelle erstmal an dickes DANKE!
Ich habe Grundkenntnisse im VBA Programmieren.
zu meinem Problem, ich habe eine unbestimmte anzahl von Abkürzungen in einem Wort, diese würde ich gern aufsplitten.
mein Wort ist zum Beispiel:
AmmBnnCkkkDeeeRss
Aufgesplittet sollte es so aussehen:
Amm
Bnn
Ckkk
Deee
Rss
Die Anfangsbuchstaben sind immer Großgeschrieben.
ich habe es mit split und Mid probiert, aber das funktioniert nicht da sich die Zeichen Länge immer verändert.
gibt es im VBA ein Befehl, der auf die Großbuchstaben schaut und diese immer als anfang nimmt?
Grüße

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nach Großbuchstaben splitten
27.01.2020 09:32:19
ChrisL
Hi
Siehe z.B.
https://www.ms-office-forum.net/forum/showthread.php?t=276171
Public Function machs(zelle, intIndex As Integer)
Dim regex As Object
Dim strtext As String
Dim m As Object
strtext = Replace(zelle.Text, vbLf, "")
Set regex = CreateObject("vbScript.Regexp")
With regex
.Pattern = "(.+?(?=[A-ZÄÖÜ])|[A-ZÄÖÜ].+$)" '
.Global = True
Set m = .Execute(strtext)
If m.Count > 0 Then machs = m(intIndex - 1)
End With
End Function
(Quelle: ransi)
cu
Chris
Anzeige
AW: nach Großbuchstaben splitten
27.01.2020 09:49:48
Blue
Servus ChrisL,
mit dem Code habe ich das schon Probiert, bin aber irgendwie zu doof diesen in einen VBA-Code zu integrieren.
ich möchte nämlich das Ergebnis der Aufsplittung in mehrere Variablen schreiben.
Diese werden dann in einem Vergleicher weiter verarbeitet.
Grüße
AW: nach Großbuchstaben splitten
27.01.2020 09:59:59
ChrisL
Hi
Sub machwas()
Dim i As Long
Dim regex As Object
Dim strtext As String
Dim m As Object
strtext = Replace(Range("A1"), vbLf, "") ' Zelle anpassen
Set regex = CreateObject("vbScript.Regexp")
With regex
.Pattern = "(.+?(?=[A-ZÄÖÜ])|[A-ZÄÖÜ].+$)" '
.Global = True
Set m = .Execute(strtext)
If m.Count > 0 Then
For i = 0 To m.Count - 1
MsgBox m(i)
Next i
End If
End With
End Sub
cu
Chris
Anzeige
AW: nach Großbuchstaben splitten
27.01.2020 10:07:27
Blue
funktioniert :)
Danke dir!!
AW: nach Großbuchstaben splitten
27.01.2020 10:56:19
Daniel
noch ne Variante:
Sub test()
Dim StrText As String
Dim strTextTrZ As String
Dim T As String
Dim Ergebnis
Dim i As Long
StrText = "AaaBbbCcc"
strTextTrZ = Left(StrText, 1)
For i = 2 To Len(StrText)
T = Mid(StrText, i, 1)
If LCase(T)  T Then strTextTrZ = strTextTrZ & "|"
strTextTrZ = strTextTrZ & T
Next
Ergebnis = Split(strTextTrZ, "|")
MsgBox StrText & vbLf & Ergebnis(0) & " - " & Ergebnis(1) & " - " & Ergebnis(2)
End Sub
hätte meiner Ansicht nach den Vorteil, dass hier wirklich jeder Großbuchstabe erkannt wird, auch welche mit Umlaut, Akzent oder sonstigen Erweiterungen, ohne dass man diese Zeichen explizit angeben muss.
dh das ganze würde so auch mit einem griechischen oder russischen Alphabet funktionieren.
Gruß Daniel
Anzeige
Und mit dem LCase-Vgl wdn tatsächlich ALLE ...
27.01.2020 11:43:40
Luc:-?
…Großbuchstaben erkannt, auch die 2 altgriechischen, die die Xl-Fkt KLEIN nicht wandelt.
Gruß, Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige