Ich verwende auch ein Excel mit einem französischen Gebietsschema und habe dieses Problem häufig mit CSV-Dateien. Wie von anderen erklärt, verwenden die französischen Zahlen ein Koma als Dezimaltrennzeichen, und eine Zahl wie 123.45
wird von Excel als Text interpretiert.
Der schnellste Weg, dies zu umgehen, ist das Ersetzen .
durch ,
. Sie können dies schnell mit Suchen / Ersetzen tun, wie von David vorgeschlagen.
Für diejenigen, die häufig mit diesem Problem konfrontiert sind, können Sie diesen Code ( angepasst aus dieser Antwort ) verwenden, ihn in Ihrer PERSÖNLICHEN Arbeitsmappe speichern und einer Schaltfläche in der Multifunktionsleiste zuweisen:
Sub Comas2Dots()
Application.ScreenUpdating = False
If (MsgBox("Do you want to replace comas by dots?", vbOKCancel) = vbOK) Then
Const sTEMPCOMMA = "|comma|"
Const sTEMPDOT = "|dot|"
Const sCOMMA = ","
Const sDOT = "."
If TypeName(Selection) = "Range" Then
With Selection
.Replace sCOMMA, sTEMPCOMMA, xlPart
.Replace sDOT, sTEMPDOT, xlPart
.Replace sTEMPCOMMA, sDOT, xlPart
.Replace sTEMPDOT, sCOMMA, xlPart
End With
End If
End If
Application.ScreenUpdating = True
End Sub
Hoffe, das hilft Menschen, die dieses unnötige Problem erleben!
Zusätzliche Dokumentation
- So weisen Sie dem Menüband Makros zu
- Kopieren Sie Ihre Makros in eine Personal Macro Workbook
,
das Dezimaltrennzeichen nicht steht.
. Werte wie123.45
sind also Texte und können nicht zusammengefasst werden. Das Multiplizieren mit 1, wie Sie vorschlagen, würde auch in diesem Fall nicht funktionieren, da dies keine Situation "Zahlen als Text gespeichert" ist, sondern eine Situation "Text als Text gespeichert". Wenn Sie Punkte durch Komas ersetzen, konvertiert Excel die Texte in reelle Zahlen (dies gilt nur für das französische Gebietsschema).