Hallo Jh, liebe Forum-Gemeinde!
Ich habe das Problem gelöst:
1)
a) Die Formulierung „=format(Variable, „currency")" brachte je nach Excel-Version (97-2007) unterschiedliche Ergebnisse, was die Nachkommastellen (bis zu 4 Nachkommastellen) und das Währungszeichen (Euro) anging. Es gibt da scheinbar in Excel zig verschiedene Formate für die Euro-Währung. Deshalb ist dieser VBA-Code zur Weitergabe an andere, die unterschiedliche Excel-Versionen einsetzen, nur „bedingt" geeignet.
b) Problem ist hierbei aber, dass per Makro eingefügte Formeln in nachfolgende Zellen nicht das Währungsformat erhalten. Beispiel:
ActiveSheet.Cells(ZeileNr, 2).Value = "=b9-b13-b19-b21"
‘Zelle in ZeileNr, Spalte 2 soll die Werte aus anderen Zellen addieren.
Deshalb:
2.) habe ich dann - leider erfolglos - versucht, die Spalte zu formatieren:
VBA-Code:
Columns("B:B").Select
‘Alternative a:
'Selection.NumberFormat = "#,##0.0 €"
‘brachte unbefriedigende Ergebnisse, weil scheinbar nicht überall das Euro-Zeichen korrekt dargestellt wird
‘Alternative b (durch Makroaufzeichnung schreiben lassen"
'Selection.NumberFormat = "#,##0.00 $" 'brachte in Excel 2000 unmögliches Ergebnis (siehe 1)
Alternative c:
'Selection.NumberFormat = "#,##0.00_ ;-#,##0.00 " ‘keine Euro-Symbol-Darstellung
3.) Schließlich habe ich das Problem 1b wie folgt gelöst, indem ich jeweils davor eine Zeile eingefügt habe. Dann bleibt bei der nachfolgenden Einfügung der Formel das Währungsformat erhalten:
ActiveSheet.Cells(ZeileNr, 2).Value = Format(0, "currency")
ActiveSheet.Cells(ZeileNr, 2).Value = "=b9-b13-b19-b21"
Hätte jemand eine bessere Möglichkeit gehabt?
Fragen:
Ist das Problem, dass currency das Währungsformat in den Excel-Versionen 2000 und 2007 unterschiedlich darstellt, auch woanders aufgefallen und ggf. gelöst worden?
Liebe Grüße
-----------------------------------------------------------------------------------------
jh schrieb am 03.12.2008 17:43:05:
Hallo,
O.K., noch ein Versuch:
ActiveSheet.Cells(Zeil, 2).NumberFormat = "#,##0.00 $"
Dann kannst du die "nackte" Zahl dort reinschreiben, und sie
sollte eigentlich anhand der Systemeinstellungen als Währung
formatiert werden. Na ja, eigentlich...
Gruß
|