AW: Namen heraus
16.03.2016 22:31:19
Peter
Hallo Jörgi,
als VBA Lösung so - wobei davon ausgegangen wird, dass es ein Überschrift gibt, die Daten also in Zeile 2 im Tabellenblatt Tabelle1 stehen.
Option Explicit
Public Sub Separieren()
Dim lZeile As Long
Dim vTemp As Variant
Dim iTemp As Integer
Dim iLaenge As Integer
Dim sZeichen As String
Dim sText As String
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen!
.Range("B2:B" & .Cells(.Rows.Count, 1).End(xlUp).Row).ClearContents
For lZeile = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
If Trim$(.Range("A" & lZeile).Value) "" Then
vTemp = Split(.Range("A" & lZeile).Value, " ")
For iTemp = LBound(vTemp) To UBound(vTemp)
vTemp(iTemp) = Trim$(vTemp(iTemp))
If Not IsNumeric(Left(vTemp(iTemp), 1)) Then
sText = ""
For iLaenge = 1 To Len(vTemp(iTemp))
sZeichen = Mid(vTemp(iTemp), iLaenge, 1)
If Not IsNumeric(sZeichen) Then
If sText = "" Then
sText = sZeichen
Else
sText = sText & sZeichen
End If
Else
Exit For
End If
Next iLaenge
If Len(sText) > 1 Then
If .Range("B" & lZeile).Value = "" Then
.Range("B" & lZeile).Value = sText
Else
.Range("B" & lZeile).Value = .Range("B" & lZeile).Value & _
" " & sText
End If
End If
End If
Next iTemp
End If
Next lZeile
End With
Application.ScreenUpdating = True
End Sub
Gruß Peter