Sisukord
Microsoft Excelis on töö numbritega kõige tavalisem. Mõnikord peame töötlema suure hulga numbritega andmestikku. Kuid võite sattuda olukorda, kus teie numbrid näevad välja nagu tekst. Sel põhjusel ei saa te lisada, lahutada, jagada, korrutada ega teha mingeid operatsioone. See näitab alati viga, kui te seda püüate teha. Selles õpetuses õpetame teile, kuidas teisendadatekstist numbriks Excelis, kasutades VBA koodid koos sobivate näidete ja nõuetekohaste illustratsioonidega.
Lae alla praktiline töövihik
Laadige alla see harjutusteemaline töövihik
Teksti teisendamine numbriteks VBA abil.xlsm
Kuidas tuvastada tekstina vormistatud numbreid
Microsoft Excel on piisavalt nutikas, et mõista teksti ja numbri erinevust. Ta teisendab need automaatselt vastavatesse vormingutesse. Kuid mõnikord ei saa ta seda teha, sest andmestikku on vääralt kasutatud ja valesti tõlgendatud. Sel põhjusel säilitab ta need numbrid teie töövihikus tekstidena.
Vaadake seda andmestikku. Siin on meil mõned numbrid ühes veerus.
Kuigi meil on veerus numbrid, on need kõik vasakule joondatud nagu tekst. Nüüd klõpsake ükskõik millisel lahtril. Selle lahtri kõrval on see kast.
Nüüd viige hiirekursor kasti kohale. Pärast seda näete seda teadet.
See näitab, et lahter on vormindatud tekstina. Nii saate olla kindel, kas lahtrid on vormindatud tekstina või mitte.
3 VBA-koodi teksti teisendamiseks Exceli numbriks
Kuigi teksti saab hõlpsasti teisendada numbriteks käsitsi, on selles õpetuses juttu teksti teisendamisest numbriteks VBA koodide abil. Soovitame teil õppida ja rakendada kõiki neid meetodeid oma andmekogumi suhtes. Kindlasti tuleb see paljudes olukordades kasuks.
1. VBA-kood koos Range.NumberFormat meetodiga teksti teisendamiseks arvuks Excelis
See meetod on üsna lihtne ja hõlpsasti kasutatav mis tahes andmekogumi puhul. Kõik, mida sa pead tegema, on rakkude vahemiku valimine ja selle sisestamine faili VBA kood .
📌 Sammud
1. Esmalt vajutage ALT+F11 klaviatuuril, et avada VBA toimetaja .
2. Klõpsake nuppu Insert> moodul .
3. Seejärel sisestage järgmine kood:
Sub ConvertTextToNumber() With Range("B5:B14") .NumberFormat = "General" .Value = .Value End With End Sub
4. Salvestage fail.
5. Seejärel vajutage ALT+F8 See avab Makro dialoogiaknas.
6. Valige ConvertTextToNumber ja klõpsake Jookseb.
Lõpuks teisendab see kood meie teksti numbriteks.
Loe edasi: Kuidas teisendada string Exceli VBA-s numbriks
2. VBA-kood koos silmuse ja CSng-ga teksti teisendamiseks numbriks
Selle meetodi puhul kasutame Loop ja CSng funktsioonid. CSng funktsioon võtab põhimõtteliselt argumendiks mis tahes teksti ja teisendab selle üheks numbriks. Meie tsükkel läbib iga valitud veeru iga lahtri. Pärast seda anname iga lahtri väärtuse üle funktsioonile CSng funktsioon, et teisendada see tekstist numbriks.
📌 Sammud
1. Esmalt vajutage ALT+F11 klaviatuuril, et avada VBA toimetaja .
2. Klõpsake nuppu Insert> moodul .
3. Seejärel sisestage järgmine kood:
Sub ConvertUsingLoop() For Each r In Sheets("Loop&CSng").UsedRange.SpecialCells(xlCellTypeConstants) If IsNumeric(r) Then r.Value = CSng(r.Value) r.NumberFormat = "General" End If Next End Sub
4. Salvestage fail.
5. Seejärel vajutage ALT+F8 See avab Makro dialoogiaknas.
6. Valige ConvertUsingLoop ja klõpsake Jookseb.
Nagu näete, oleme selle VBA-koodi abil meie teksti numbriteks konverteerinud.
Sarnased lugemised
- Teksti hulgi konverteerimine Exceli numbriks (6 võimalust)
- Kuidas konverteerida string pikaks, kasutades VBA-d Excelis (3 võimalust)
- Stringi teisendamine Exceli VBAs kahekordseks (5 meetodit)
- Kuidas parandada Exceli numbriks konverteerimise viga (6 meetodit)
3. Teksti teisendamine numbriteks dünaamiliste vahemike jaoks Excelis
Nüüd, eelmised meetodid olid valitud vahemike jaoks. See tähendab, et peate käsitsi sisestama koodis oma rakkude vahemiku. Kuid mõnikord võib teie andmestik olla suur. Sellistel juhtudel peate mäletama rakkude vahemikku. See meetod ületab selle probleemi. Me teame, et meie andmestik algab alates Raku B5 Aga me ei tea, kus see võib lõppeda.
Seega tuvastame dünaamiliselt viimati kasutatud Exceli rea, mis sisaldab andmeid, kasutades selleks Cells(Rows.Count, "B").End(xlUp).Row
See tagastab viimase mitte-tühja rea numbri, mida me ühendame " B5:B ".
📌 Sammud
1. Esmalt vajutage ALT+F11 klaviatuuril, et avada VBA toimetaja .
2. Klõpsake nuppu Sisesta > Moodul .
3. Seejärel sisestage järgmine kood:
Sub ConvertDynamicRanges() With Range("B5:B" & Cells(Rows.Count, "B").End(xlUp).Row) .NumberFormat = "General" .Value = .Value End With End Sub
4. Salvestage fail.
5. Seejärel vajutage ALT+F8 See avab Makro dialoogiaknas.
6. Seejärel valige ConvertDynamicRanges ja klõpsake Jookseb.
Nagu näete, õnnestub meil VBA koodide abil tekst numbriteks teisendada.
💬 Asjad, mida meeles pidada
✎ Siin kasutame oma andmekogumi jaoks veergu B. Kui teie andmed on mõnes teises veerus, muutke VBA koodide lahtrite vahemikku vastavalt.
✎ VBA-koodid töötavad ainult aktiivsel lehel.
Kokkuvõte
Kokkuvõtteks loodan, et see õpetus andis teile tükikese kasulikke teadmisi teksti teisendamisest numbriks Excelis VBA koodide abil. Soovitame teil õppida ja rakendada kõiki neid juhiseid oma andmekogumile. Laadige alla praktiline töövihik ja proovige neid ise. Samuti võite vabalt anda tagasisidet kommentaaride sektsioonis. Teie väärtuslik tagasiside hoiab meid motiveerituna, et luua selliseid õpetusi.Ärge unustage meie veebilehte Exceldemy.com erinevate Exceliga seotud probleemide ja lahenduste kohta.