Excel VBA -tekstitoiminto
VBA-tekstitoimintoa käytetään vain VBA: ssa. Näyttää siltä, että se muuntaa numerot tekstiksi. Mutta todellisuudessa se muuntaa numerot mihin tahansa muotoon, kuten aika, päivämäärä tai numeroalue. Tätä varten meidän on sallittava tämän toiminnon käyttöönotto luokana.
Jos näemme VBA-tekstin argumentin, niin se koostuu Arg1: stä ja Arg2: sta alla esitetyllä tavalla.
- Arg1 - Täällä laitetaan arvo, jonka haluamme muuntaa, normaalimuodossa.
- Arg2 - Ja tässä valitsemme muodon, jossa haluamme nähdä tulosteen tulevan.
Molemmat muuttujat määritetään merkkijonona.
Kuinka käyttää Excel VBA -tekstitoimintoa?
Opimme käyttämään VBA-tekstitoimintoa muutamalla esimerkillä excel-muodossa.
Voit ladata tämän VBA Text Excel -mallin täältä - VBA Text Excel TemplateVBA-tekstitoiminto - esimerkki # 1
Muuntamme tekstin tai numerot vakiomuotoon kaikissa tulevissa esimerkeissä eri tavoin.
Noudata alla olevia vaiheita käyttääksesi VBA-tekstitoimintoa.
Vaihe 1: Avaa moduuli, joka on saatavana Lisää valikko -välilehdellä alla olevan kuvan mukaisesti.
Vaihe 2: Kirjoita avattuun VBA-moduuliin VBA-tekstin osaprosessori alla olevan kuvan mukaisesti.
Koodi:
Sub VBA_Text1 () End Sub
Vaihe 3: VBA-tekstin syntaksin mukaan tarvitsemme kaksi argumenttia. Joten määrittele ensimmäinen muuttuja merkkijonoksi, johon annamme syötteen alla esitetyllä tavalla.
Koodi:
Sub VBA_Text1 () himmentää tuloa1 merkkijonon loppuna
Vaihe 4: Määritä nyt toinen muuttuja, josta saamme tuloksen. Ja tämä olisi myös kuin merkkijono.
Koodi:
Sub VBA_Text1 () Dim Input1 merkkijonona Dim Output kuin merkkijonona End Sub
Vaihe 5: Harkitse nyt kaikkia satunnaislukuja, jotka meidän on muunnettava vakiomuotoon. Tämä voi olla numero, jonka haluamme nähdä, tai se voi olla mikä tahansa satunnaisluku. Oletetaan, että jos tarkastellaan desimaalilukua 0.123 ja katsotaan mitä saamme.
Koodi:
Sub VBA_Text1 () Dim Input1 merkkijonona himmennetty merkkijonotulona1 = 0, 123 End Sub
Vaihe 6: Nyt käytämme toisessa määritetyssä muuttujassa, joka on Output, VBA-tekstin lisäämiseen. Nyt tätä toimintoa käytetään laskentataulukkofunktiona alla esitetyllä tavalla.
Vaihe 7: Valitse VBA-teksti toiminto sisäisestä toimintoluettelosta. Nyt syntaksin mukaan käytämme muuttujaa ja muotoa, jossa haluamme muuntaa sen Arg1-standardimuodona, jolla haluamme muuntaa valitun numeron.
Koodi:
Sub VBA_Text1 () himmennetty tulo1 merkkijonona himmennetty merkkijonotulona1 = 0, 123 tuloste = työarkkofunktio.Text (lopullinen sub
Vaihe 8: Arg1 : een kirjoitamme Input1-muuttujan, jolla on numero, joka meidän on muunnettava, ja Arg2 on muodossa HH: MM: SS AM / PM.
Koodi:
Sub VBA_Text1 () himmeä sisääntulo1 merkkijonona himmeä ulostulo merkkijonona sisääntulona1 = 0, 123 lähtö = työarkkofunktio.Text (sisääntulo1, "tt: mm: ss AM / PM") lopussa ali
Vaihe 9: Käytä nyt MsgBoxia nähdäksesi, mikä tuloksena on.
Koodi:
Sub VBA_Text1 () himmennetty tulo1 merkkijonona himmennä tulona merkkijonon sisääntulona1 = 0, 123 lähtö = työarkkofunktio.Text (sisääntulo1, "tt: mm: ss AM / PM") MsgBox-lähtö tulos
Vaihe 10: Suorita nyt koodi painamalla F5-näppäintä tai napsauttamalla Play-painiketta. Saamme viestiruudun, jonka viesti on 02:57:07 AM .
Näemme toisen kerran, jos valitsemme jonkin muun numeron.
Vaihe 11: Vaihdataan nyt tulonumeroksi 12345 ja muutettaessa tulosteen muotoa PP-KK-VVVV kuten alla.
Koodi:
Sub VBA_Text2 () himmennetty tulo1 merkkijonona himmeänä tulosteena merkkijonona 1 = 12345 tuloste = työarkkifunktio.Text (tulo1, "PP-KK-vvvv") MsgBox-lähtö tulos
Vaihe 12: Suorita nyt koodi uudelleen. Päivämäärä on 18. lokakuuta 1933
Jos tiedämme tarkan määrän, jolla voimme saada tarkan päivämäärän tai ajan, niin se on parempi.
VBA-tekstitoiminto - esimerkki 2
On myös toinen suora tapa soveltaa VBA-tekstiä. Tätä varten me kirjoitamme joitain numeroita excel-taulukkoon alla esitetyllä tavalla.
Noudata alla olevia vaiheita käyttääksesi VBA-tekstitoimintoa.
Vaihe 1: Kirjoita moduuliin VBA-tekstin alaluokka alla olevan kuvan mukaisesti.
Koodi:
Sub VBA_Text3 () End Sub
Vaihe 2: Valitse solualue, jossa haluamme nähdä tulosteen. Oletetaan, että nämä solut ovat välillä B1 - B5.
Koodi:
Sub VBA_Text3 () Range ("B1: B5"). Arvo End Sub
Vaihe 3: Valitse nyt solualue, joka meidän on muunnettava. Tässä alue on solusta A1 A5 yhdessä työarkkitoiminnon kanssa.
Koodi:
Sub VBA_Text3 () Alue ("B1: B5"). Arvo = Alue ("A1: A5"). Työarkki. End Sub
Vaihe 4: Valitse hakemisto-toiminto arvioimalla sitä.
Koodi:
Sub VBA_Text3 () Range ("B1: B5"). Value = Range ("A1: A5"). Worksheet.Evaluate ("INDEX (End Sub
Vaihe 5: Harkitse nyt Teksti-toimintoa ja valitse alue, joka meidän on muunnettava. Ja muoto on useassa nollassa.
Koodi:
Sub VBA_Text3 () Range ("B1: B5"). Value = Range ("A1: A5"). Worksheet.Arvioi ("INDEX (TEXT (A1: A5, " "'000000" ")))) End Sub
Vaihe 6: Suorita nyt koodi painamalla F5-näppäintä tai napsauttamalla Play-painiketta. Näemme sarakkeessa A saatavilla olevat numerot, jotka on nyt muutettu tekstiksi, jossa on useita nollia, mikä johtaa 6-numeroisiin numeroihin sarakkeessa B.
Katsotaanpa nyt, mitä tapahtuisi, jos muuttamme lähtömuodon uudelleen nollajohdoista aikamuotoon.
Vaihe 7: Aseta Arg2- muotoon aikamuoto muodossa HH: MM: SS ja muuta lähtöalueen solu arvoon C1 arvoon C5 häiritsemättä edellisestä koodista saatua lähtöä.
Koodi:
Sub VBA_Text3 () Range ("C1: C5"). Value = Range ("C1: C5"). Worksheet.Arvioi ("INDEX (TEXT (A1: A5, " "hh: mm: ss" ")))" ) Loppu alaosaan
Vaihe 8: Suorita koodi uudelleen. Nähdään, että sarake C täytetään oletusaikamuodossa.
Yritetään toinen kokeilu.
Vaihe 9: Tässä muutamme ulostulosolun alueesta D1 arvoon D5, jossa näemme VBA-tekstin. Ja muuta Arg2, päivämäärämuodossa, joka on PP-KK-VVVV kuten alla.
Koodi:
Sub VBA_Text3 () Range ("D1: D5"). Value = Range ("D1: D5"). Worksheet.Arvioi ("INDEX (TEXT (A1: A5, " "PP-KK-VVVV" "")) " ) Loppu alaosaan
Vaihe 10: Suorita koodi uudelleen. Tällä kertaa näemme, päivämäärä näkyy sarakkeessa D. Ja nämä päivämäärät ovat muodossa, joka on DD-KKM-VVVV.
Näin voimme muuttaa numeroita missä tahansa haluamassamme vakiomuodossa.
Plussaa ja miinusta Excel VBA -tekstitoiminnossa
- Tämä on helppo toteuttaa.
- Voimme muuttaa numeroita missä tahansa muodossa, jonka haluamme nähdä.
- Emme voi muuttaa tekstiä vaadittuun numeroformaattiin.
Muistettavat asiat
- VBA-teksti muuntaa vain numerot numeroiksi. Mutta numeroiden muoto on vakiomuoto, kuten päivämäärä, aika, päivämäärä- ja aikayhdistelmä tai mikä tahansa numerosarja.
- Jos haet ja muutat numeroita edeltävän nollan muotoon, aseta sitten apostrofi nollan eteen. Joten numerot muunnetaan tekstiksi ja nollat ilmestyvät.
- Jos yritämme muuntaa mitä tahansa tekstiä VBA-tekstillä, se antaa tulosteen vain tekstinä.
- Tarkan tulosteen saamiseksi meidän on tiedettävä numeroiden yhdistelmä, joka antaa tarkan ajan ja päivämäärän, jonka haluamme nähdä.
- Kun olet valmis, tallenna koko koodi makro-käytössä -muodossa, jotta koodi ei katoa.
Suositellut artikkelit
Tämä on opas VBA-tekstitoimintoon. Tässä keskustellaan siitä, miten tekstitoimintoa voidaan käyttää excel VBA: ssa, sekä käytännön esimerkkejä ja ladattavia excel-malleja. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -
- Kopioi liitä toiminto VBA: ssa
- Sub-string Excel-toiminto
- VBA-alaindeksi rajojen ulkopuolella
- Excel ISNUMBER -kaava