Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

$ / € Problem Teil 2

Betrifft: $ / € Problem Teil 2 von: Marcel
Geschrieben am: 31.08.2004 10:12:10

hallo zusammen,

hatte am 27.08. mein problem erörtert, konnte dann aber nicht am pc bleiben und weiter diskutieren, deswegen hier noch einmal mein problem:

guten morgen,

ich habe ein excelsheet mit einer makroeingabeautomatik. das ding wird später in deutschland und usa zum einsatz kommen. jetzt habe ich das problem das punkt und komma nicht gleich behandelt werden. der deutsche schreibt meist mit komma 1,21 - der ammi neigt zum punkt 1.21 - dies hat folgende auswirkung:

z.b. im feld dollarkurs:
eingabe 1,21 ausgabe 1,21
eingabe 1.21 ausgabe 121,00

gibt es eine einstellung oder einen vba code, damit komma und punkt gleich behandelt werden? also das eingaben 1,21 & 1.21 beide die ausgabe 1,21 zur folge haben?

---------

folgende lösungsvorschläge hatte boris, leider kann ich damit nicht sehr viel anfangen, da ich eine vba niete bin und noch ein bißchen nähere infos bräuchte :)

Hi Marcel,

ich begebe mich jetzt mal auf dünnes Eis:
Frage die Ländereinstellung des Systems ab und programmiere entsprechend 2 Routinen.

Die Ländereinstellung erhälst du mit der API

Declare
Function GetSystemDefaultLCID Lib _
"kernel32" () As Long

Sub test()
MsgBox GetSystemDefaultLCID
End Subwobei das Wort Declare direkt vor Function gehört - das wird hier falsch dargestellt.

Ergibt für DEUTSCH: 1031
Für Englisch (USA) 1033

Vielleicht hilft´s.

Grüße Boris

-----

Hi Marcel,

hab grad noch die passende Api gefunden, um die Ländereinstellung als String zu erhalten:

Private Declare Function VerLanguageName Lib "kernel32" Alias "VerLanguageNameA" (ByVal wLang As Long, ByVal szLang As String, ByVal nSize As Long) As Long
Declare Function GetSystemDefaultLCID Lib _
"kernel32" () As Long

Private Sub Form_Paint()
    'KPD-Team 2000
'URL: <a href="http://www.allapi.net/">http://www.allapi.net/</a>
    'E-Mail: KPDTeam@allapi.net
    Dim Buffer As String
    Buffer = String(255, 0)
    VerLanguageName GetSystemDefaultLCID, Buffer, Len(Buffer)
    Buffer = Left$(Buffer, InStr(1, Buffer, Chr$(0)) - 1)
    MsgBox Buffer
End Sub




Danke schon mal für den ein oder anderen Tip!

Gruß
´Marcel!
  


Betrifft: AW: $ / € Problem Teil 2 von: Dieter Maj
Geschrieben am: 31.08.2004 10:17:28

Hallo Marcel
im Grunde hast Du kein Problem, da Excel durch die Ländereinstellung immer richtig rechnet. Lass die Deutschen das Komma und die Amis den Punkt eingeben, das Programm ist immer das gleiche.
Hab selber ein Programm im Einsatz, das in Europa, USA, Australien und Fernost mit dem gleichen Code läuft.
Gruß Dieter


  


Betrifft: AW: $ / € Problem Teil 2 von: Marcel
Geschrieben am: 31.08.2004 11:30:25

hallo dieter,

danke für den hinweis. also habe ich das richtig verstanden, dass wenn der ammi mit dem ammi excel 1.21 eingibt, auch die ausgabe 1.21 raus kommt und nicht 121,00 wie beim deutschen excel?

gruß marcel


  


Betrifft: AW: $ / € Problem Teil 2 von: Dieter Maj
Geschrieben am: 31.08.2004 12:39:50

Hallo Marcel
du hast richtig verstanden
Gruß Dieter


  


Betrifft: AW: $ / € Problem Teil 2 von: Marcel
Geschrieben am: 31.08.2004 12:47:30

ok vielen dank!

gruß
marcel


 

Beiträge aus den Excel-Beispielen zum Thema "$ / € Problem Teil 2"