Ik gebruik ook een Excel met een Franse locale, en heb dit probleem vaak met CSV-bestanden. Zoals anderen al hebben uitgelegd, gebruiken de Franse getallen een coma als decimaalscheidingsteken, en een getal als 123.45
wordt door Excel als tekst geïnterpreteerd.
De snelste manier om dit te omzeilen, is om .
te vervangen door ,
. Je kunt het snel doen met Find/Replace, zoals voorgesteld door David.
Voor degenen die dit probleem vaak tegenkomen, kun je dit stukje code gebruiken aangepast van dit antwoord ), het opslaan in je PERSOONLIJKE werkmap en het toewijzen aan een knop in het lint:
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
Hoop dat mensen die dit onnodige probleem ervaren helpt!
Toevoeging van documentatie
- Hoe je macro’s aan het lint toewijst
- 2. Kopieer uw macro’s naar een persoonlijk macro-werkboek