Kaip konvertuoti tekstą į skaičių naudojant "Excel VBA" (3 pavyzdžiai su makrokomandomis)

  • Pasidalinti
Hugh West

"Microsoft Excel" programoje dažniausiai dirbama su skaičiais. Kartais tenka apdoroti duomenų rinkinį, kuriame yra daug skaičių. Tačiau galite atsidurti situacijoje, kai jūsų skaičiai atrodo kaip tekstas. Dėl šios priežasties negalite sudėti, atimti, dalyti, dauginti ar atlikti bet kokios operacijos. Bandant tai padaryti, visada rodoma klaida. Šioje pamokoje mokysime, kaip konvertuotitekstą į skaičių "Excel" programoje naudojant VBA kodus su tinkamais pavyzdžiais ir tinkamomis iliustracijomis.

Atsisiųsti praktikos sąsiuvinį

Atsisiųskite šį praktikos sąsiuvinį

Teksto konvertavimas į skaičius naudojant VBA.xlsm

Kaip atpažinti numerius, suformatuotus kaip tekstas

"Microsoft Excel" yra pakankamai protinga, kad suprastų skirtumą tarp teksto ir skaičiaus. Ji automatiškai konvertuoja juos į atitinkamus formatus. Tačiau kartais ji negali to padaryti dėl netinkamo duomenų rinkinio naudojimo ir interpretacijos. Dėl šios priežasties ji išsaugo tuos skaičius kaip tekstus jūsų darbaknygėje.

Pažvelkite į šį duomenų rinkinį. Čia stulpelyje yra keletas skaičių.

Nors stulpelyje turime skaičių, jie visi yra sulygiuoti į kairę, kaip ir tekstas. Dabar spustelėkite bet kurią ląstelę. Šalia ląstelės rasite šį langelį.

Dabar užveskite pelės žymeklį ant langelio. Po to pamatysite šį pranešimą.

Jis rodo, kad ląstelė suformatuota kaip tekstas. Taip galite įsitikinti, ar ląstelės suformatuotos kaip tekstas, ar ne.

3 VBA kodai tekstui į skaičių konvertuoti programoje "Excel

Nors tekstą į skaičius galite nesunkiai konvertuoti rankiniu būdu, šioje pamokoje kalbama apie teksto konvertavimą į skaičių naudojant VBA kodus. Rekomenduojame išmokti ir taikyti visus šiuos metodus savo duomenų rinkiniui. Be abejo, tai pravers daugelyje situacijų.

1. VBA kodas su "Range.NumberFormat" metodu tekstui į skaičių konvertuoti "Excel" programoje

Šį metodą gana paprasta ir lengva naudoti bet kokiam duomenų rinkiniui. Viskas, ką jums reikia padaryti, tai pasirinkti ląstelių intervalą ir įterpti jį į VBA kodas .

📌 Žingsniai

1. Pirmiausia paspauskite ALT+F11 klaviatūroje, kad atidarytumėte VBA redaktorius .

2. Spustelėkite Insert> Modulis .

3. Tada įveskite šį kodą:

 Sub ConvertTextToNumber() With Range("B5:B14") .NumberFormat = "General" .Value = .Value End With End Sub 

4. Išsaugokite failą.

5. Tada paspauskite ALT+F8 . Bus atidarytas Makro dialogo langas.

6. Pasirinkite ConvertTextToNumber ir spustelėkite Bėgti.

Galiausiai šis kodas konvertuos mūsų tekstą į skaičius.

Skaityti daugiau: Kaip konvertuoti eilutę į skaičių "Excel VBA" programoje

2. VBA kodas su ciklu ir CSng tekstui konvertuoti į skaičių

Taikydami šį metodą naudojame Kilpa ir CSng funkcijos. CSng funkcija iš esmės priima bet kokį tekstą kaip argumentą ir paverčia jį vienu skaičiumi. Mūsų ciklas eis per kiekvieną pasirinkto stulpelio langelį. Po to kiekvieno langelio vertę perduosime į funkciją CSng funkciją, kad paverstumėte jį iš teksto į skaičių.

📌 Žingsniai

1. Pirmiausia paspauskite ALT+F11 klaviatūroje, kad atidarytumėte VBA redaktorius .

2. Spustelėkite Insert> Modulis .

3. Tada įveskite šį kodą:

 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. Išsaugokite failą.

5. Tada paspauskite ALT+F8 . Bus atidarytas Makro dialogo langas.

6. Pasirinkite ConvertUsingLoop ir spustelėkite Bėgti.

Kaip matote, naudodami šį VBA kodą tekstą pavertėme skaičiais.

Panašūs skaitiniai

  • Masinis teksto konvertavimas į skaičių "Excel" programoje (6 būdai)
  • Kaip konvertuoti eilutę į ilgąją naudojant VBA "Excel" (3 būdai)
  • Styginių konvertavimas į dvigubą skaičių "Excel VBA" programoje (5 metodai)
  • Kaip ištaisyti "Excel" klaidą "Konvertuoti į skaičių" (6 metodai)

3. Konvertuoti tekstą į skaičius, kad būtų galima nustatyti dinaminius intervalus programoje "Excel

Ankstesni metodai buvo skirti pasirinktiems intervalams. Tai reiškia, kad į kodą turite rankiniu būdu įvesti ląstelių intervalą. Tačiau kartais jūsų duomenų rinkinys gali būti didelis. Tokiais atvejais turite prisiminti ląstelių intervalą. Šis metodas padės išspręsti šią problemą. Žinome, kad mūsų duomenų rinkinys prasideda nuo Ląstelė B5 . Bet mes nežinome, kur jis gali baigtis.

Taigi dinamiškai nustatome paskutinę naudotą "Excel" eilutę, kurioje yra duomenų, naudodami Cells(Rows.Count, "B").End(xlUp).Row . Grąžinamas paskutinis ne tuščios eilutės numeris, kurį sujungiame su " B5:B ".

📌 Žingsniai

1. Pirmiausia paspauskite ALT+F11 klaviatūroje, kad atidarytumėte VBA redaktorius .

2. Spustelėkite Įdėkite > Modulis .

3. Tada įveskite šį kodą:

 Sub ConvertDynamicRanges() With Range("B5:B" & Cells(Rows.Count, "B").End(xlUp).Row) .NumberFormat = "General" .Value = .Value End With End Sub 

4. Išsaugokite failą.

5. Tada paspauskite ALT+F8 . Bus atidarytas Makro dialogo langas.

6. Tada pasirinkite ConvertDynamicRanges ir spustelėkite Bėgti.

Kaip matote, naudojant VBA kodus mums pavyko konvertuoti tekstą į skaičius.

💬 Dalykai, kuriuos verta prisiminti

✎ Čia duomenų rinkiniui naudojame stulpelį B. Jei jūsų duomenys yra kitame stulpelyje, atitinkamai pakeiskite ląstelių intervalą VBA koduose.

✎ VBA kodai veiks tik aktyviajame lape.

Išvada

Baigdamas tikiuosi, kad ši pamoka suteikė jums naudingų žinių apie teksto konvertavimą į skaičių "Excel" programoje naudojant VBA kodus. Rekomenduojame išmokti ir taikyti visus šiuos nurodymus savo duomenų rinkiniui. Atsisiųskite pratybų sąsiuvinį ir išbandykite juos patys. Taip pat nedvejodami pateikite atsiliepimus komentarų skiltyje. Jūsų vertingi atsiliepimai skatina mus kurti tokias pamokas kaip ši.Nepamirškite patikrinti mūsų svetainės Exceldemy.com įvairių su "Excel" susijusių problemų ir sprendimų.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.