Omzetten tekst naar getal

Status
Niet open voor verdere reacties.

ExcelTonnie

Gebruiker
Lid geworden
5 jul 2016
Berichten
317
Via een micrometer print ik de data in een userform en deze wordt in een tabel gezet.

De data die gegenereerd wordt begint bijv. met 0.563
In de tabel staat dan ook dit getal als tekst. 0.563
via de code laat ik het omzetten naar een getal.
Echter wordt de komma op de verkeerde positie geplaatst.
Krijg dan het getal 563,00 terug.
Hoe krijg ik nu het getal 0,563 hiervoor terug.
Via tekst naar kolom is dit niet werkbaar voor mijn toepassing.


Code:
Sub Omzetter()
'met deze code worden alle textgetallen omgezet naar getallen
For Each r In ws3.UsedRange.SpecialCells(xlCellTypeConstants)
    If IsNumeric(r) Then
       r.Value = CSng(r.Value)
       r.NumberFormat = "0.00"
    End If
Next
End Sub
 
Zo?
Code:
Sub Omzetter()
[COLOR="#008000"]'met deze code worden alle textgetallen omgezet naar getallen[/COLOR]
For Each r In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
    If IsNumeric(r) Then
       r.Value = CSng(Replace(r.Value, ".", "."))
       r.NumberFormat = "0.00"
    End If
Next
End Sub
 
Krijg een foutmelding op
r.Value = CSng(Replace(r.Value, ".", "."))


Code:
Sub Omzetter()
[COLOR="#008000"]'met deze code worden alle textgetallen omgezet naar getallen[/COLOR]
For Each r In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
    If IsNumeric(r) Then
       r.Value = CSng(Replace(r.Value, ".", "."))
       r.NumberFormat = "0.00"
    End If
Next
End Sub
 
Ik niet. Gaat gewoon goed.
Je laat ook niet weten wat de foutmelding is.
Daarom is dus een voorbeeld documentje altijd zo handig.
 
Laatst bewerkt:
Ik niet. Gaat gewoon goed.
Je laat ook niet weten wat de foutmelding is.
Daarom is dus een voorbeeld documentje altijd zo handig.

Haakje was niet meegenomen, maar ik krijg nog steeds zelfde retour dus 0.569 wordt 569,00
 
Zo dan:
Code:
Sub Omzetter()
[COLOR="#008000"]'met deze code worden alle textgetallen omgezet naar getallen[/COLOR]
For Each r In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
    If IsNumeric(r) Then
       r.Value = CLng(Replace(r.Value, ".", ".")) / 1000
       r.NumberFormat = "0.000"
    End If
Next
End Sub
 
Dat deel had ik al geprobeerd maar dat geeft problemen /1000

Bij gegenereerde getallen van bijv. 0.65 i.p.v. 0.650 dan krijg je dus een verkeerde uitkomst.
zal even kijken of ik het apparaat kan aanpassen dat deze altijd 3 karakter geeft achter de punt.
 
Laatst bewerkt:
En nog steeds geen voorbeeld document.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan