mit VBA (Regexp)
25.05.2010 09:49:31
Tino
Hallo,
kannst mal diesen Code testen, Voraussetzung ist dass die letze Spalte frei ist.
Sub Daten_Sort()
Dim meAr, tmpAr
Dim Regex As Object
Dim A As Long
Dim ErsteZelleMitDaten As Range
With Tabelle2 'Tabelle anpassen
'Bereich anpassen, hier ab A2 ohne Überschrift
Set ErsteZelleMitDaten = .Range("A2")
meAr = .Range(ErsteZelleMitDaten, _
.Cells(.Rows.Count, ErsteZelleMitDaten.Column).End(xlUp)).Resize(, 2)
Redim Preserve meAr(1 To Ubound(meAr), 1 To 1)
Redim tmpAr(1 To Ubound(meAr), 1 To 1)
Set Regex = CreateObject("Vbscript.Regexp")
With Regex
.MultiLine = True
.Pattern = "\D"
.Global = True
For A = 1 To Ubound(meAr)
tmpAr(A, 1) = .Replace(meAr(A, 1), "")
If IsNumeric(tmpAr(A, 1)) Then tmpAr(A, 1) = tmpAr(A, 1) * 1
Next A
End With
.Cells(ErsteZelleMitDaten.Row, Columns.Count).Resize(Ubound(tmpAr)) = tmpAr
.UsedRange.Sort Key1:=.Cells(ErsteZelleMitDaten.Row, .Columns.Count), Order1:=xlAscending, Header:=xlYes
.Columns(.Columns.Count).Delete
End With
End Sub
Gruß Tino