Inhoudsopgave
In Microsoft Excel is het werken met getallen het meest gebruikelijk. Soms moeten we een dataset met grote hoeveelheden getallen verwerken. Maar, u kunt zich in een situatie bevinden waarin uw getallen op tekst lijken. Om deze reden kunt u niet optellen, aftrekken, delen, vermenigvuldigen of welke bewerking dan ook uitvoeren. Er verschijnt altijd een foutmelding wanneer u dit probeert te doen. In deze tutorial leren we u hoe u het volgende kunt omzettentekst naar getal in Excel met behulp van VBA codes met passende voorbeelden en goede illustraties.
Download Praktijk werkboek
Download dit oefenwerkboek
Tekst naar getallen converteren met VBA.xlsm
Hoe herken je als tekst opgemaakte getallen?
Microsoft Excel is slim genoeg om het verschil tussen Tekst en Getal te begrijpen en zet ze automatisch om naar hun respectievelijke formaten. Maar soms kan het dat niet doen vanwege verkeerd gebruik en verkeerde interpretaties van de dataset. Daarom houdt het die getallen als tekst in uw werkmap.
Kijk eens naar deze dataset. Hier hebben we wat getallen in een kolom.
Hoewel we getallen in de kolom hebben, zijn ze allemaal links uitgelijnd zoals de tekst. Klik nu op een willekeurige cel. Je vindt dit vakje naast de cel.
Beweeg nu de muiscursor over het vakje. Daarna ziet u dit bericht.
Het laat zien dat de cel is opgemaakt als tekst. Op deze manier weet u zeker of de cellen zijn opgemaakt als tekst of niet.
3 VBA-codes om tekst om te zetten in een getal in Excel
Hoewel u tekst gemakkelijk handmatig in getallen kunt omzetten, gaat deze tutorial over het omzetten van tekst in getallen met behulp van VBA-codes. Wij raden u aan al deze methoden te leren en toe te passen op uw dataset. Het zal zeker in veel situaties van pas komen.
1. VBA-code met de methode Range.NumberFormat om tekst om te zetten in een getal in Excel
Deze methode is vrij eenvoudig en gemakkelijk te gebruiken op elke dataset. Alles wat u hoeft te doen is het cellenbereik selecteren en het invoegen in de VBA-code .
📌 Stappen
1. Druk eerst op ALT+F11 op uw toetsenbord om de VBA-editor .
2. Klik op Invoegen> Module .
3. Typ vervolgens de volgende code:
Sub ConvertTextToNumber() Met Range("B5:B14") .NumberFormat = "General" .Value = .Value End With End Sub
4. Sla het bestand op.
5. Druk vervolgens op ALT+F8 Het zal de Macro dialoogvenster.
6. Selecteer ConvertTextToNumber en klik op Rennen.
Uiteindelijk zal deze code onze tekst omzetten in getallen.
Lees meer: Hoe tekenreeks om te zetten naar getal in Excel VBA
2. VBA-code met lus en CSng om de tekst in een getal om te zetten
In deze methode gebruiken we Lus en CSng functies. CSng functie neemt in principe elke tekst als argument en converteert het naar een enkel getal. Onze lus zal elke cel van de geselecteerde kolom doorlopen. Daarna geven we de waarde van elke cel door aan CSng functie om het om te zetten van tekst naar getal.
📌 Stappen
1. Druk eerst op ALT+F11 op uw toetsenbord om de VBA-editor .
2. Klik op Invoegen> Module .
3. Typ vervolgens de volgende code:
Sub ConvertUsingLoop() Voor Elke r In Sheets("Loop&CSng").UsedRange.SpecialCells(xlCellTypeConstants) Als IsNumeric(r) Dan r.Waarde = CSng(r.Waarde) r.NumberFormat = "General" End If Volgende Einde Sub
4. Sla het bestand op.
5. Druk vervolgens op ALT+F8 Het zal de Macro dialoogvenster.
6. Selecteer ConvertUsingLoop en klik op Rennen.
Zoals u ziet, hebben we met deze VBA-code onze tekst omgezet in getallen.
Vergelijkbare lezingen
- Tekst in bulk omzetten naar een getal in Excel (6 manieren)
- Hoe String om te zetten naar Long met VBA in Excel (3 manieren)
- String naar Double converteren in Excel VBA (5 methoden)
- Hoe repareren om te zetten naar getal fout in Excel (6 methoden)
3. Tekst omzetten in getallen voor dynamische bereiken in Excel
Nu, de vorige methoden waren voor de geselecteerde bereiken. Dat betekent dat je handmatig je celbereik in de code moet invoeren. Maar soms kan je dataset groot zijn. In die gevallen moet je het celbereik onthouden. Deze methode lost dat probleem op. We weten dat onze dataset begint bij Cel B5 Maar we weten niet waar het zal eindigen.
Dus identificeren we dynamisch de laatst gebruikte excel-rij met gegevens erin met behulp van Cells(Rows.Count, "B").End(xlUp).Row
Het geeft het laatste niet-lege rijnummer dat we samenvoegen met " B5:B ".
📌 Stappen
1. Druk eerst op ALT+F11 op uw toetsenbord om de VBA-editor .
2. Klik op Plaats > Module .
3. Typ vervolgens de volgende code:
Sub ConvertDynamicRanges() With Range("B5:B" & Cells(Rows.Count, "B").End(xlUp).Row) .NumberFormat = "General" .Value = .Value End With End Sub
4. Sla het bestand op.
5. Druk vervolgens op ALT+F8 Het zal de Macro dialoogvenster.
6. Selecteer vervolgens ConvertDynamicRanges en klik op Rennen.
Zoals u ziet, lukt het ons om tekst om te zetten in getallen met behulp van de VBA-codes.
Dingen om te onthouden
✎ Hier gebruiken we kolom B voor onze dataset. Als uw gegevens in een andere kolom staan, wijzigt u het cellenbereik in de VBA-codes dienovereenkomstig.
De VBA-codes werken alleen op het actieve blad.
Conclusie
Tot slot hoop ik dat deze handleiding u een stukje nuttige kennis heeft bijgebracht over het omzetten van tekst naar getal in Excel met behulp van VBA-codes. Wij raden u aan al deze instructies te leren en toe te passen op uw dataset. Download de oefenwerkmap en probeer deze zelf uit. Voel u ook vrij om feedback te geven in het commentaargedeelte. Uw waardevolle feedback houdt ons gemotiveerd om tutorials als deze te maken.Vergeet niet onze website te bekijken Exceldemy.com voor verschillende Excel-gerelateerde problemen en oplossingen.