Moin,
ich glaune, dass dein GF schon ein paar Jahre auf dem Buckel hat ...
Ich jedenfalls habe dies Schreibweise noch während meiner Lehre vor über 50 Jahren gelernt ...
Eine kleine Änderung habe ich doch noch meinen damaligen Gewohnheiten angepasst, weil es sinnvoll ist: 2 Striche statt nur einem. Sonst stehen die "Kommas" nicht untereinander, und das sieht echt blöd aus ...
Probiere mal diesen Code an einer Kopie aus:
Option Explicit
Sub StricheStattNullen()
Dim c As Range, rngStr As String
rngStr = UsedRange.Address(0, 0)
On Error GoTo ErrorHandler
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual 'Sonst Automatic
End With
With ActiveSheet
.Range(rngStr).Copy
Range(rngStr).PasteSpecial Paste:=xlValues
For Each c In .UsedRange
If IsNumeric(c) Then
c = Format(c.Value, "#,##0.00")
If Right(c, 2) = "00" Then _
c = Left(c, Len(c) - 2) & "--"
c.HorizontalAlignment = xlRight
End If
Next c
End With
ErrorHandler:
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub
Viel Glück bei deinem GF!