Tekstin muuntaminen numeroksi Excel VBA: lla (3 esimerkkiä makroilla)

  • Jaa Tämä
Hugh West

Microsoft Excelissä numeroiden kanssa työskentely on tavallisinta. Joskus meidän on käsiteltävä tietokokonaisuuksia, joissa on suuria määriä numeroita. Saatat kuitenkin joutua tilanteeseen, jossa numerot näyttävät tekstiltä. Tästä syystä et voi lisätä, vähentää, jakaa, kertoa tai suorittaa minkäänlaisia operaatioita. Se näyttää aina virheen, kun yrität tehdä näin. Tässä opetusohjelmassa opetamme, miten muuntaatekstistä numeroksi Excelissä käyttämällä VBA koodit sopivin esimerkein ja asianmukaisin kuvin.

Lataa harjoituskirja

Lataa tämä harjoituskirja

Tekstin muuntaminen numeroiksi VBA:n avulla.xlsm

Tekstiksi muotoiltujen numeroiden tunnistaminen

Microsoft Excel on tarpeeksi älykäs ymmärtääkseen tekstin ja numeron välisen eron. Se muuntaa ne automaattisesti omiin muotoihinsa. Joskus se ei kuitenkaan pysty tekemään sitä, koska tietokokonaisuutta on käytetty väärin ja tulkittu väärin. Tästä syystä se pitää numerot tekstinä työkirjassasi.

Katso tätä tietosarjaa. Tässä sarakkeessa on joitakin numeroita.

Vaikka sarakkeessa on numeroita, ne on kohdistettu vasemmalle kuten teksti. Napsauta mitä tahansa solua, niin näet solun vieressä tämän laatikon.

Vie hiiren kursori laatikon päälle, minkä jälkeen näet tämän viestin.

Se osoittaa, että solu on muotoiltu tekstiksi. Näin voit olla varma, onko solut muotoiltu tekstiksi vai ei.

3 VBA-koodia tekstin muuntamiseksi numeroksi Excelissä

Vaikka voit helposti muuntaa tekstin numeroiksi manuaalisesti, tässä opetusohjelmassa käsitellään tekstin muuntamista numeroiksi VBA-koodien avulla. Suosittelemme, että opit ja sovellat kaikkia näitä menetelmiä tietokokonaisuuteesi. Varmasti niistä on hyötyä monissa tilanteissa.

1. VBA-koodi Range.NumberFormat-menetelmällä tekstin muuntamiseksi numeroksi Excelissä

Tämä menetelmä on melko yksinkertainen ja helppo käyttää mihin tahansa tietokokonaisuuteen. Sinun tarvitsee vain valita soluväli ja lisätä se kenttään VBA-koodi .

📌 Askeleet

1. Paina ensin ALT+F11 näppäimistöllä avataksesi VBA-editori .

2. Napsauta Lisää> Moduuli .

3. Kirjoita sitten seuraava koodi:

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

4. Tallenna tiedosto.

5. Paina sitten ALT+F8 . Se avaa Makro valintaikkuna.

6. Valitse ConvertTextToNumber ja klikkaa Juokse.

Lopulta tämä koodi muuntaa tekstimme numeroiksi.

Lue lisää: Kuinka muuntaa merkkijono numeroksi Excel VBA: ssa

2. VBA-koodi, jossa on silmukka ja CSng tekstin muuntamiseksi numeroksi.

Tässä menetelmässä käytämme Silmukka ja CSng toiminnot. CSng funktio periaatteessa ottaa argumenttina minkä tahansa tekstin ja muuntaa sen yhdeksi numeroksi. Silmukassamme käymme läpi valitun sarakkeen jokaisen solun. Tämän jälkeen siirrämme jokaisen solun arvon funktioon CSng funktio muuntaa sen tekstistä numeroksi.

📌 Askeleet

1. Paina ensin ALT+F11 näppäimistöllä avataksesi VBA-editori .

2. Napsauta Lisää> Moduuli .

3. Kirjoita sitten seuraava koodi:

 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. Tallenna tiedosto.

5. Paina sitten ALT+F8 . Se avaa Makro valintaikkuna.

6. Valitse ConvertUsingLoop ja klikkaa Juokse.

Kuten näet, olemme muuttaneet tekstimme numeroiksi tämän VBA-koodin avulla.

Samanlaisia lukemia

  • Massamuuntaminen tekstistä numeroksi Excelissä (6 tapaa)
  • Kuinka muuntaa merkkijono pitkäksi VBA: n avulla Excelissä (3 tapaa)
  • Muunna merkkijono kaksinkertaiseksi Excel VBA:ssa (5 menetelmää)
  • Kuinka korjata Muunna numerovirheeksi Excelissä (6 menetelmää)

3. Tekstin muuntaminen numeroiksi Excelin dynaamisia alueita varten

Aiemmat menetelmät koskivat valittuja alueita, mikä tarkoittaa, että sinun on syötettävä solualueesi manuaalisesti koodiin. Joskus datasi voi kuitenkin olla suuri. Silloin sinun on muistettava solualueesi. Tämä menetelmä ratkaisee tämän ongelman. Tiedämme, että datasettimme alkaa kohdasta Solu B5 Mutta emme tiedä, mihin se saattaa päättyä.

Tunnistamme siis dynaamisesti viimeksi käytetyn Excel-rivin, jolla on tietoja, käyttämällä seuraavia keinoja Cells(Rows.Count, "B").End(xlUp).Row Se palauttaa viimeisen ei-tyhjän rivin numeron, jonka yhdistämme " B5:B ".

📌 Askeleet

1. Paina ensin ALT+F11 näppäimistöllä avataksesi VBA-editori .

2. Napsauta Lisää > Moduuli .

3. Kirjoita sitten seuraava koodi:

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

4. Tallenna tiedosto.

5. Paina sitten ALT+F8 . Se avaa Makro valintaikkuna.

6. Valitse sitten ConvertDynamicRanges ja klikkaa Juokse.

Kuten näet, onnistumme muuntamaan tekstin numeroiksi VBA-koodien avulla.

💬 Muistettavaa

✎ Tässä käytämme tietokokonaisuutemme saraketta B. Jos tietosi ovat eri sarakkeessa, muuta VBA-koodien solualuetta vastaavasti.

✎ VBA-koodit toimivat vain aktiivisella arkilla.

Päätelmä

Lopuksi toivon, että tämä opetusohjelma on antanut sinulle hyödyllisen tiedon tekstin muuntamisesta numeroksi Excelissä VBA-koodien avulla. Suosittelemme, että opit ja sovellat kaikkia näitä ohjeita tietokokonaisuuteesi. Lataa harjoitustyökirja ja kokeile näitä itse. Voit myös vapaasti antaa palautetta kommenttiosassa. Arvokas palautteesi pitää meidät motivoituneina luomaan tällaisia opetusohjelmia.Älä unohda tarkistaa verkkosivujamme Exceldemy.com erilaisiin Exceliin liittyviin ongelmiin ja ratkaisuihin.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.