Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1472to1476
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Punkt statt Komma

Punkt statt Komma
12.02.2016 07:05:44
Chris

Hallo zusammen,
ich errechne per VBA die Summe eines variablen range und schreibe das Ergebnis in
die Kopfzeile. Das Format ist auf 0.00 gestellt. Im Ergebnis erscheint jedoch ein Komma statt ein Punkt.
Wie muss man das Format ändern, damit das Komma durch einen Punkt im PageHeader ersetzt wird?
.PageSetup.RightHeader = "Gesamtsumme: " & Format(Application.WorksheetFunction.Sum(Range("F2:F" & lngletzteZeile)), "0.00" & " €")
Danke
Chris

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Von hinten durch die Brust ins Auge
12.02.2016 08:05:43
RPP63
Moin!
Geht wahrscheinlich erheblich einfacher, aber ich habe es mal so gelöst:
Sub x()
Dim Summe As Double
With Tabelle3
Summe = WorksheetFunction.Sum(Range("F2:F23"))
.PageSetup.RightHeader = "Gesamtsumme: " & _
Int(Summe) & "," & Int(Round((Summe - Int(Summe)) * 100)) & " €"
End With
End Sub
Gruß Ralf

ergänzend …
12.02.2016 08:09:32
RPP63
Sollten auch negative Summen möglich sein, musst Du Int() mit Fix() tauschen.
Gruß Ralf

AW: ergänzend …
12.02.2016 08:37:40
Chris
Hallo Ralf,
soweit funktioniert es. Kannst du mir das makro erklären?
ab &int(summe...)
Danke
Chris

AW: ergänzend …
12.02.2016 08:46:32
RPP63
Nun ja, ist doch eigentlich ganz einfache Mathematik.
Int() schneidet die Nachkommastellen ab,
Round() rundet nach Gauss (etwas anders als kaufmännisch, nennt sich auch Bankers rounding)
(Summe - Int(Summe))*100 ergibt die Cent-Beträge.
In meiner Beispieldatei habe ich die Nachkommastellen durch Zufallszahl() gebildet, weshalb ich runden musste.
Wenn in Deiner Datei immer nur zwei Nachkommastellen bei der Währung stehen, geht es natürlich einfacher:
Sub x()
Dim Summe As Double
With Tabelle3
Summe = WorksheetFunction.Sum(Range("F2:F23"))
.PageSetup.RightHeader = "Gesamtsumme: " & _
Int(Summe) & "." & Int((Summe - Int(Summe)) * 100) & " €"
End With
End Sub
Gruß Ralf

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige