Ich denke das "Vtmp" nicht richtig ist.
Option Explicit
Sub Aendern()
Dim vTmp As Variant
Dim lngR As Long, lngL As Long
Dim intI As Integer
With Sheets("Tabelle1") 'Tabellenname - anpassen!
lngL = .Cells(Rows.Count, 1).End(xlUp).Row
For lngR = 1 To lngL
If Len(.Cells(lngR, 1)) > 0 Then
vTmp = Split(.Cells(lngR, 1), " ")
For intI = 0 To UBound(vTmp)
If Left(vTmp(intI), 1) = "X" And CDbl(Mid(Replace(vTmp(intI), ".", ","), 2, 99)) _
_
> -120 Then
vTmp(intI) = "X" & CStr(Replace(CDbl(Mid(Replace(vTmp(intI), ".", ","), 2, _
_
99)) + 10, ",", "."))
ElseIf Left(vTmp(intI), 1) = "I" And CDbl(Mid(Replace(vTmp(intI), ".", ","), 2, _
_
99)) > -89 Then
vTmp(intI) = "I" & CStr(Replace(CDbl(Mid(Replace(vTmp(intI), ".", ","), 2, _
_
99)) + 10, ",", "."))
End If
Next
.Cells(lngR, 2) = Join(vTmp, " ") 'zum Testen Ausgabe in Spalte "B", sonst die 2 _
durch 1 ersetzen!
End If
Next
End With
End Sub
Gruß Gismo