Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1660to1664
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

Decimal Separator Chaos

Decimal Separator Chaos
13.12.2018 16:48:26
Georg
Hallo liebes Forum
ich habe ein Problem mit Dezimaltrennern. Ich bin aufgrund anderer Software gezwungen, ein Komma als Dezimaltrenner zu verwenden.
Meine VBA-Scripts müssen jedoch mit Punkt als Trenner arbeiten, da diese sonst nicht funktionieren.
Ich habe in den Excel-Optionen Punkt als Dezimal und Leerzeichen als Tausenderseparator, in Windows jedoch Komma als Dezimaltrenner eingestellt.
Das funktioniert soweit auch, jedoch ignoriert VBA die Excel-Einstellungen beim Abrufen eine Variable und nimmt die Windows-Einstellungen.
https://www.herber.de/bbs/user/126089.xls
Konnte kein xlsm hochladen, daher xls
Kann das jemand verifizieren und mir hier helfen?
Vielen Dank
Georg

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Decimal Separator Chaos
13.12.2018 19:27:07
ChrisL
Hi Georg
Höchstwahrscheinlich die falsche Herangehensweise. Code aus deiner Datei:
Sub dezimaltrenner()
Application.DecimalSeparator = "."
Application.ThousandsSeparator = " "
Application.UseSystemSeparators = False
Dim var As Double
var = Range("A3").Value
MsgBox var & " " & "bei mir steht hier ein Komma, wenn Windows auf 'Komma' gestellt ist."
End Sub

Meine VBA-Scripts müssen jedoch mit Punkt als Trenner arbeiten, da diese sonst nicht funktionieren.
Beispiel:
If Range("A3").Value = 1.234 Then "Treffer"
Dabei ist es völlig Wurst, wie A3 formatiert ist, solange da eine echte Zahl/Wert steht.
cu
Chris
Anzeige
Ein 'Decimal Separator' ist idR keine reine ...
14.12.2018 00:44:57
Luc:-?
…Format-Angelegenheit, Georg (& Chris),
und richtet sich in der VBE-Wiedergabe tatsächlich nur nach den Windows-Einstellungen, während allein die Wiedergabe in Xl so beeinflusst wdn kann. Hier mag die VBE-Hilfe etwas missverständlich sein. Man merkt das auch daran, dass der TsderTrenner von VBA gar nicht berücksichtigt wird, also reine Formatierung ist. Das ändert aber nichts daran, dass VBA intern ohnehin mit Dezi­mal­Pkt arbeitet, auch, wenn das nicht angezeigt wird. Der in Xl eingestellte Pkt ist demggüber reines Format und kann in VBA folglich nur mit .Text statt .Value ausgelesen wdn. Er ergibt sich auch nicht durch CStr(.Value)!
Wenn deine Pgmm deshalb wirklich nicht fktionieren sollten, musst du darin wohl irgendetwas machen, was zwingend auf die VBA-Wiedergabe lt VBE zugreift (wohl als Text), denn ansonsten (bei RechenOperationen mit Zahlen) wäre das schnurz, da hat Chris ganz recht!
Da wirst du wohl deine Pgmm ändern müssen… ;-]
🙈 🙉 🙊 🐵 Morhn, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige