das wird wohl mein vorerst letztes hallo für eine Weile sein, da die mir gestellte Aufgabe fast fertig ist.
Also, wie bereits wahrscheinlich bekannt, importiere ich verschiedene Werte aus einer .txt-Datei nach Excel in die Spalte A. Diese Werte sehen wie folgt aus:
Friedrich Peter (DD-DS/DAS2)
Mueller Hans (DD/OKL3)
Muster Ohr (ODSK/BHG1 DD/FGD2)
Wie gesagt sind diese Werte in der Spalte A. Jetzt muss ich diese Werte, am besten mit einem regulären Ausdruck in die nebenstehenden Zellen aufteilen. Das heißt,
Spalte A
List
(Die oberen Werte)
Spalte B
Nachname
Friedrich
Mueller
Muster
Spalte C
Vorname
Peter
Klaus
Ohr
Spalte D
Di1
DD-DS
DD
ODSK
Spalte E
De1
DAS
OKL
BHG
Spalte F
Di2
DD
Spalte G
De2
FGD
Spalte H
Gr
2
3
2
Und so soll das ganze weiter gehen. Erste Frage, ist das möglich, durch einen regulären Ausdruck diese Werte in die nebenstehenden Zellen zu schreiben. Einen Code habe ich wieder Mal gefunden, konnte ihn wieder mal nicht so anpassen wie nötig. Das hier wäre der Code:
Sub Aufteilen() ' Late-Bound | Early-Bound Dim REX As Object ' RegExp Dim oMatchCollection As Object ' MatchCollection Dim oMatch As Object ' Match Dim aryVals As Variant Dim n As Long Set REX = CreateObject("VBScript.RegExp") With REX .Global = True .IgnoreCase = False .Pattern = "(.*)" End With With Tabelle1.Range(Tabelle1.Cells(1), Tabelle1.Cells(Tabelle1.Rows.Count, 1).End(xlUp)) aryVals = .Value For n = LBound(aryVals) To UBound(aryVals, 1) If REX.test(aryVals(n, 1)) Then Set oMatchCollection = REX.Execute(aryVals(n, 1)) For Each oMatch In oMatchCollection aryVals(n, 1) = "Auto" Next End If Next .Value = aryVals End With End Sub Gruß Emre