AW: Zahl umwandeln mit VBA
17.07.2015 09:44:17
Tino
Hallo,
habe es mal so versucht.
Sub Test_Zahlen()
Dim ArData, n&
'Datenquelle
ArData = Tabelle1.Range("A2:A5")
For n = LBound(ArData) To UBound(ArData)
If IsNumeric(ArData(n, 1)) And Len(ArData(n, 1)) > 0 Then
ArData(n, 1) = Wandeln(ArData(n, 1))
End If
Next n
'Ausgabe
Tabelle1.Range("B2").Resize(UBound(ArData)).Value = ArData
End Sub
Function Wandeln(varValue)
Dim i%, ii%, nValue, ArValue()
ReDim Preserve ArValue(1 To Len(varValue), 1 To 2)
For i = 1 To Len(varValue)
nValue = Mid(varValue, i, 1)
If ii = 0 Then
ii = ii + 1
ArValue(ii, 1) = 1
ArValue(ii, 2) = nValue
Else
If ArValue(ii, 2) = nValue Then
ArValue(ii, 1) = ArValue(ii, 1) + 1
Else
ii = ii + 1
ArValue(ii, 1) = 1
ArValue(ii, 2) = nValue
End If
End If
Next i
For i = 1 To ii
Wandeln = Wandeln & ArValue(i, 1) & ArValue(i, 2)
Next i
End Function
Du kannst auch nur die Function Wandeln verwenden und im Excel eine Formel einsetzen.
| A | B |
2 | 6883 | 162813 |
3 | 33333331 | 7311 |
4 | 109 | 111019 |
Formeln der Tabelle |
Zelle | Formel | B2 | =WENN(ISTZAHL(A2); Wandeln(A2); "") | B3 | =WENN(ISTZAHL(A3); Wandeln(A3); "") | B4 | =WENN(ISTZAHL(A4); Wandeln(A4); "") |
|
Gruß Tino