Hallo Brille,
Mit dem CDbl zusammenfassen geht nicht, dann sagt er Typen
unverträglich.
tja nun, Excel führt da gelegentlich ein Eigenleben, schau mal hier:
Sub tt()
Dim c As Single
c = 1234567890.123
MsgBox Format(CDbl©, „000.0000“)
[a1] = Format(CDbl©, „000.0000“)
End Sub
Problem scheint wohl zu sein, dass die Excelversion vom Chef
anscheinend kein Euro-Format kennt. Habs mal abgeändert in
KostenNeuM = Format(CDbl(PersonalNeu) + CDbl(MaterialNeu) +
CDbl(EnergieNeu), „#,##0.00“ & " €")
Und das funktioniert dann in engl.? Zu vorher sehe ich aber keinen Unterschied.
Hoffe das war alles.
k.A. Wenn dein Chef brauxchbar für sowas ist bitte ihn mal nachstehenden Code von CountryCodes in einer leeren Mappe laufen zu lassen und dir die Mappe zu schicken. Die Mappe würde ich auch gerne sehen.
Du kannst kja dann hier den Code auch starten und dann beides vergleichen, vielleicht vfallen dir ja dann noch potentielle knackpunkte auf.
Übrigens für Code der in D und CH laufen soll habe ich ein ähnliches Problem so gelöst:
Function DezimalTrenner() As String
DezimalTrenner = GetEntry(LOCALE_SDECIMAL)
End Function
GetEntry ist die Funktion aus dem nachstehenden Code.
.Range(„B3:AS33“).NumberFormat = IIf(DezimalTrenner = „,“, „#,##0.0“, „#.##0,0“)
Option Explicit
' Ursprungscode von:
' http://www.activevb.de/tipps/vb6tipps/tipp0277.html
Public lngRow As Long
Private Declare Function GetSystemDefaultLCID Lib \_
"kernel32" () As Long
Private Declare Function GetLocaleInfo Lib "kernel32" \_
Alias "GetLocaleInfoA" (ByVal Locale As Long, \_
ByVal LCType As Long, ByVal lpLCData As String, \_
ByVal cchData As Long) As Long
Const LOCALE\_ILANGUAGE = &H1
Const LOCALE\_SLANGUAGE = &H2
Const LOCALE\_SENGLANGUAGE = &H1001
Const LOCALE\_SABBREVLANGNAME = &H3
Const LOCALE\_SNATIVELANGNAME = &H4
Const LOCALE\_ICOUNTRY = &H5
Const LOCALE\_SCOUNTRY = &H6
Const LOCALE\_SENGCOUNTRY = &H1002
Const LOCALE\_SABBREVCTRYNAME = &H7
Const LOCALE\_SNATIVECTRYNAME = &H8
Const LOCALE\_IDEFAULTLANGUAGE = &H9
Const LOCALE\_IDEFAULTCOUNTRY = &HA
Const LOCALE\_IDEFAULTCODEPAGE = &HB
Const LOCALE\_SLIST = &HC
Const LOCALE\_IMEASURE = &HD
Const LOCALE\_SDECIMAL = &HE
Const LOCALE\_STHOUSAND = &HF
Const LOCALE\_SGROUPING = &H10
Const LOCALE\_IDIGITS = &H11
Const LOCALE\_ILZERO = &H12
Const LOCALE\_SNATIVEDIGITS = &H13
Const LOCALE\_SCURRENCY = &H14
Const LOCALE\_SINTLSYMBOL = &H15
Const LOCALE\_SMONDECIMALSEP = &H16
Const LOCALE\_SMONTHOUSANDSEP = &H17
Const LOCALE\_SMONGROUPING = &H18
Const LOCALE\_ICURRDIGITS = &H19
Const LOCALE\_IINTLCURRDIGITS = &H1A
Const LOCALE\_ICURRENCY = &H1B
Const LOCALE\_INEGCURR = &H1C
Const LOCALE\_SDATE = &H1D
Const LOCALE\_STIME = &H1E
Const LOCALE\_SSHORTDATE = &H1F
Const LOCALE\_SLONGDATE = &H20
Const LOCALE\_STIMEFORMAT = &H1003
Const LOCALE\_IDATE = &H21
Const LOCALE\_ILDATE = &H22
Const LOCALE\_ITIME = &H23
Const LOCALE\_ICENTURY = &H24
Const LOCALE\_ITLZERO = &H25
Const LOCALE\_IDAYLZERO = &H26
Const LOCALE\_IMONLZERO = &H27
Const LOCALE\_S1159 = &H28
Const LOCALE\_S2359 = &H29
Const LOCALE\_SDAYNAME1 = &H2A
Const LOCALE\_SDAYNAME2 = &H2B
Const LOCALE\_SDAYNAME3 = &H2C
Const LOCALE\_SDAYNAME4 = &H2D
Const LOCALE\_SDAYNAME5 = &H2E
Const LOCALE\_SDAYNAME6 = &H2F
Const LOCALE\_SDAYNAME7 = &H30
Const LOCALE\_SABBREVDAYNAME1 = &H31
Const LOCALE\_SABBREVDAYNAME2 = &H32
Const LOCALE\_SABBREVDAYNAME3 = &H33
Const LOCALE\_SABBREVDAYNAME4 = &H34
Const LOCALE\_SABBREVDAYNAME5 = &H35
Const LOCALE\_SABBREVDAYNAME6 = &H36
Const LOCALE\_SABBREVDAYNAME7 = &H37
Const LOCALE\_SMONTHNAME1 = &H38
Const LOCALE\_SMONTHNAME2 = &H39
Const LOCALE\_SMONTHNAME3 = &H3A
Const LOCALE\_SMONTHNAME4 = &H3B
Const LOCALE\_SMONTHNAME5 = &H3C
Const LOCALE\_SMONTHNAME6 = &H3D
Const LOCALE\_SMONTHNAME7 = &H3E
Const LOCALE\_SMONTHNAME8 = &H3F
Const LOCALE\_SMONTHNAME9 = &H40
Const LOCALE\_SMONTHNAME10 = &H41
Const LOCALE\_SMONTHNAME11 = &H42
Const LOCALE\_SMONTHNAME12 = &H43
Const LOCALE\_SABBREVMONTHNAME1 = &H44
Const LOCALE\_SABBREVMONTHNAME2 = &H45
Const LOCALE\_SABBREVMONTHNAME3 = &H46
Const LOCALE\_SABBREVMONTHNAME4 = &H47
Const LOCALE\_SABBREVMONTHNAME5 = &H48
Const LOCALE\_SABBREVMONTHNAME6 = &H49
Const LOCALE\_SABBREVMONTHNAME7 = &H4A
Const LOCALE\_SABBREVMONTHNAME8 = &H4B
Const LOCALE\_SABBREVMONTHNAME9 = &H4C
Const LOCALE\_SABBREVMONTHNAME10 = &H4D
Const LOCALE\_SABBREVMONTHNAME11 = &H4E
Const LOCALE\_SABBREVMONTHNAME12 = &H4F
Const LOCALE\_SABBREVMONTHNAME13 = &H100F
Const LOCALE\_SPOSITIVESIGN = &H50
Const LOCALE\_SNEGATIVESIGN = &H51
Const LOCALE\_IPOSSIGNPOSN = &H52
Const LOCALE\_INEGSIGNPOSN = &H53
Const LOCALE\_IPOSSYMPRECEDES = &H54
Const LOCALE\_IPOSSEPBYSPACE = &H55
Const LOCALE\_INEGSYMPRECEDES = &H56
Const LOCALE\_INEGSEPBYSPACE = &H57
Const LOCALE\_USER\_DEFAULT = &H400
Const LOCALE\_SYSTEM\_DEFAULT As Long = &H400
Sub CountryCodes()
Columns(1).ClearContents
lngRow = 0
GLI LOCALE\_SLIST, "Listentrennzeichen"
GLI LOCALE\_IMEASURE, "0=metrisch, 1=US"
GLI LOCALE\_SDECIMAL, "Dezimaltrennzeichen"
GLI LOCALE\_STHOUSAND, "Tausendertrennzeichen"
GLI LOCALE\_SGROUPING, "Gruppierung links vom Komma"
GLI LOCALE\_IDIGITS, "Zahlen hinter dem Komma"
GLI LOCALE\_ILZERO, "führende Nullen"
GLI LOCALE\_SCURRENCY, "Währungsymbol"
GLI LOCALE\_SINTLSYMBOL, "Währung nach ISO 4217"
GLI LOCALE\_SMONDECIMALSEP, "Währungstrennzeichen"
GLI LOCALE\_SMONTHOUSANDSEP, "Währungstausendertrennzeichen"
GLI LOCALE\_SMONGROUPING, "Währungsgruppierung"
GLI LOCALE\_ICURRDIGITS, "Zahlen hinter dem Komma (Pf)"
GLI LOCALE\_ICURRENCY, "Anzeige des Währungssymbols"
GLI LOCALE\_INEGCURR, "Negatives Währungsvorzeichen"
GLI LOCALE\_SDATE, "Datumstrennzeichen"
GLI LOCALE\_STIME, "Zeittrennzeichen"
GLI LOCALE\_SSHORTDATE, "Kurzes Datumsformat"
GLI LOCALE\_SLONGDATE, "Langes Datumsformat"
GLI LOCALE\_STIMEFORMAT, "Zeitformat"
GLI LOCALE\_ITIME, "12/24 Stunden"
GLI LOCALE\_S1159, "AM-Zeichen"
GLI LOCALE\_S2359, "PM-Zeichen"
GLI LOCALE\_SPOSITIVESIGN, "Positives Vorz."
GLI LOCALE\_SNEGATIVESIGN, "Negatives Vorz."
GLI LOCALE\_ILANGUAGE, "Sprach ID"
GLI LOCALE\_SLANGUAGE, "Lokalisierter Sprachname"
GLI LOCALE\_SENGLANGUAGE, "Engl. Äquivalent"
GLI LOCALE\_SABBREVLANGNAME, "Abgekürzt"
GLI LOCALE\_SNATIVELANGNAME, "Sprache in Landessprache"
GLI LOCALE\_ICOUNTRY, "Ländercode"
GLI LOCALE\_SCOUNTRY, "Ländername"
GLI LOCALE\_SENGCOUNTRY, "Ländername in Engl."
GLI LOCALE\_SABBREVCTRYNAME, "Abgekürzt"
GLI LOCALE\_SNATIVECTRYNAME, "Land in Landessprache"
GLI LOCALE\_IDEFAULTLANGUAGE, "Standard Sprach-ID"
GLI LOCALE\_IDEFAULTCOUNTRY, "Standard Landes-ID"
GLI LOCALE\_IDEFAULTCODEPAGE, "Standard Codeseite"
GLI LOCALE\_SNATIVEDIGITS, "gebräuchliche Zahlen"
GLI LOCALE\_IINTLCURRDIGITS, "Zahlen hinter Komma nach ISO"
GLI LOCALE\_IDATE, "Datums Gruppierung"
GLI LOCALE\_ILDATE, "Reihenfolge langes Datumsformat"
GLI LOCALE\_ICENTURY, "Jahr in 2/4 Ziffern"
GLI LOCALE\_ITLZERO, "führende Null für Zeiten"
GLI LOCALE\_IDAYLZERO, "führende Null für Tage"
GLI LOCALE\_IMONLZERO, "führende Null für Monate"
GLI LOCALE\_SDAYNAME1, "Langer Name für Mo"
GLI LOCALE\_SDAYNAME2, "Langer Name für Di"
GLI LOCALE\_SDAYNAME3, "Langer Name für Mi"
GLI LOCALE\_SDAYNAME4, "Langer Name für Do"
GLI LOCALE\_SDAYNAME5, "Langer Name für Fr"
GLI LOCALE\_SDAYNAME6, "Langer Name für Sa"
GLI LOCALE\_SDAYNAME7, "Langer Name für So"
GLI LOCALE\_SABBREVDAYNAME1, "Abgk. Name für Mo"
GLI LOCALE\_SABBREVDAYNAME2, "Abgk. Name für Di"
GLI LOCALE\_SABBREVDAYNAME3, "Abgk. Name für Mi"
GLI LOCALE\_SABBREVDAYNAME4, "Abgk. Name für Do"
GLI LOCALE\_SABBREVDAYNAME5, "Abgk. Name für Fr"
GLI LOCALE\_SABBREVDAYNAME6, "Abgk. Name für Sa"
GLI LOCALE\_SABBREVDAYNAME7, "Abgk. Name für So"
GLI LOCALE\_SMONTHNAME1, "Langer Name für Jan"
GLI LOCALE\_SMONTHNAME2, "Langer Name für Feb"
GLI LOCALE\_SMONTHNAME3, "Langer Name für Mae"
GLI LOCALE\_SMONTHNAME4, "Langer Name für Mai"
GLI LOCALE\_SMONTHNAME5, "Langer Name für Apr"
GLI LOCALE\_SMONTHNAME6, "Langer Name für Jun"
GLI LOCALE\_SMONTHNAME7, "Langer Name für Jul"
GLI LOCALE\_SMONTHNAME8, "Langer Name für Aug"
GLI LOCALE\_SMONTHNAME9, "Langer Name für Sep"
GLI LOCALE\_SMONTHNAME10, "Langer Name für Okt"
GLI LOCALE\_SMONTHNAME11, "Langer Name für Nov"
GLI LOCALE\_SMONTHNAME12, "Langer Name für Dez"
GLI LOCALE\_SABBREVMONTHNAME1, "Abgk. Name für Jan"
GLI LOCALE\_SABBREVMONTHNAME2, "Abgk. Name für Feb"
GLI LOCALE\_SABBREVMONTHNAME3, "Abgk. Name für Mae"
GLI LOCALE\_SABBREVMONTHNAME4, "Abgk. Name für Apr"
GLI LOCALE\_SABBREVMONTHNAME5, "Abgk. Name für Mai"
GLI LOCALE\_SABBREVMONTHNAME6, "Abgk. Name für Jun"
GLI LOCALE\_SABBREVMONTHNAME7, "Abgk. Name für Jul"
GLI LOCALE\_SABBREVMONTHNAME8, "Abgk. Name für Aug"
GLI LOCALE\_SABBREVMONTHNAME9, "Abgk. Name für Sep"
GLI LOCALE\_SABBREVMONTHNAME10, "Abgk. Name für Okt"
GLI LOCALE\_SABBREVMONTHNAME11, "Abgk. Name für Nov"
GLI LOCALE\_SABBREVMONTHNAME12, "Abgk. Name für Dez"
GLI LOCALE\_IPOSSIGNPOSN, "Format. für pos. Währung"
GLI LOCALE\_INEGSIGNPOSN, "Format. für neg. Währung"
GLI LOCALE\_IPOSSYMPRECEDES, "Präfix für pos. Währungsvorzeichen"
GLI LOCALE\_IPOSSEPBYSPACE, "Trennz. bei pos. Währungsbetrag"
GLI LOCALE\_INEGSYMPRECEDES, "Präfix für neg. Währungsvorzeichen"
GLI LOCALE\_INEGSEPBYSPACE, "Trennz. bei neg. Währungsbetrag"
End Sub
Sub GLI(ID&, Text$)
lngRow = lngRow + 1
Cells(lngRow, 1) = ID
Cells(lngRow, 2) = GetEntry(ID)
Cells(lngRow, 3) = Text
End Sub
Function GetEntry(ID&:wink: As String
Dim LCID&, Result&, Buffer$, Length&
LCID = GetSystemDefaultLCID()
Length = GetLocaleInfo(LCID, ID, Buffer, 0) - 1
Buffer = Space(Length + 1)
Result = GetLocaleInfo(LCID, ID, Buffer, Length)
GetEntry = Left$(Buffer, Length)
End Function