Der folgende Beispielcode funktioniert einwandfrei, wenn Windows in USFormat (Dezimal = Punkt) aber bricht, wenn in niederländischem Format (Dezimal = Komma) ausgeführt wurde.Write Formel zu Zelle akzeptiert nicht sys Dezimaltrennzeichen/Reginal Format/Excel VBA
Warum?
Gibt es eine Möglichkeit, die Formel in eine Zelle im Komma-Dezimal-Format zu schreiben, die nicht erfordert, jedes Komma zurück zu Punkt zu ersetzen?
Sub TestHandleRegionalFormat()
SourceData = "-.1"
Application.UseSystemSeparators = True
ActiveSheet.Cells(1, 2) = GetDecimalSeparator
ActiveSheet.Cells(2, 2) = Application.DecimalSeparator
If GetDecimalSeparator = "," Then SourceData = Replace(SourceData, ".", ",")
ActiveSheet.Cells(3, 2) = SourceData + 1000
ActiveSheet.Cells(4, 2) = "=" & SourceData & "+1000"
End Sub
Public Function GetDecimalSeparator()
'http://stackoverflow.com/a/32992918/4797660
GetDecimalSeparator = Mid(Format(1000, "#,##0.00"), 6, 1)
End Function
USFormat Ausgang
DutchFormat Ausgang