manes schrieb am 07.April.2015, 21:27:32 in der Kategorie pc.sw.office
Exel und die leidigen Postleitzahlen
Hallo!
Probier mal folgendes Makro aus
Sub plz()
Dim r As Range
Dim c As Range
Dim lng_c As Long
Set r = Range("B2:B1000")
For lng_c = 1 To r.Rows.Count
Set c = r.Cells(lng_c)
'Die aktuelle Zelle wird als Text formatiert
c.NumberFormat = "@"
'Wenn der Zellinhalt eine Zahl ist,
If IsNumeric(c) Then
'wird diese -ggf. mit führender/n Null/en in die Zelle geschrieben
c = Format(c, "00000")
Else
'Andernfalls wird,wenn es sich um eine deutsche PLZ handelt,
If Left(c, 1) = "D" Then
'der Inhalt von dem führenden Textanteil befreit hineingeschrieben
c = Format(StrReverse(Val(StrReverse(c))), "00000")
End If
End If
Next
End Sub
Das ist allerdings mit Excel 2010 erstellt.Ich weiß nicht, ob es in Deiner Version (2002) auch schon strreverse gegeben hat. U.U. müsste das dann noch angepasst werden.