Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: Schweiz am März 18, 2016, 09:32:21 Vormittag

Titel: Formatierung einer Zahl
Beitrag von: Schweiz am März 18, 2016, 09:32:21 Vormittag
Ich habe die folgende Frage:

Ich möchte folgende Zahlenformate über mehrere Seiten ändern.
Beispiel:   19.00 in 19.-

Beträge mit einem Wert hinter dem Komma sollen aber stehen bleiben.
Beispiel: 17.33 bleibt 17.33

Kann jemand hierzu eine Hilfestellung leisten?

Vielen Dank im Voraus.

Titel: Antw: Formatierung einer Zahl
Beitrag von: gmg-cc am März 18, 2016, 09:40:32 Vormittag
Moin Moin,

ich denke mal, dass der Punkt bei dir der Dezimaltrenner ist.
Und ich setze voraus, dass die Umwandlung in der gleichen Zelle passieren soll.

Dann geht das IMHO nur per VBA und du wirst die noch-Zahlen in Texte umwandeln müssen. Zumindest die Doppel-Nuller. Und mit 14.- kannst du dann natürlich nicht weiter rechnen.
Titel: Antw: Formatierung einer Zahl
Beitrag von: Schweiz am März 18, 2016, 09:59:23 Vormittag
Hallo Günther,

ja das siehst Du richtig.
Der Geschäftsführer möchte die Nuller nach dem "Komma" nicht sehen, sondern ein ,-.
Rechnen müßte ich nicht mehr damit. Es geht nur um das Aussehen des Wertes.
Was müßte ich wie formatieren?
Titel: Antw: Formatierung einer Zahl
Beitrag von: gmg-cc am März 18, 2016, 11:18:00 Vormittag
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!