VBA-teksti | Kuinka käyttää tekstitoimintoa VBA Excelissä? (esimerkkien kanssa)

Teksti on Excelin laskentataulukkofunktio, mutta sitä voidaan käyttää myös VBA: ssa, kun sen kanssa käytetään alueominaisuutta, tämän funktion funktio on samanlainen kuin laskentataulukko-funktio ja se vie saman määrän argumentteja, jotka on annettava muunnettu ja määritetty lukumuoto.

Excel VBA -tekstitoiminto

TEXT on laskentataulukon kanssa käytettävissä oleva toiminto, mutta valitettavasti se ei ole sisäänrakennettu toiminto Excel VBA: ssa. Tämän toiminnon käyttämiseksi meidän on käytettävä laskentataulukon funktioluokan objektia VBA: ssa. Excelin tekstitoiminto muuntaa arvon määritettyyn lukumuotoon.

Yksi tämän toiminnon ongelmista on argumentteja. Aina kun käytämme VBA-laskentataulukon toimintoluokkaa, emme näe selkeää syntaksia aivan kuten laskentataulukossamme. Siinä sanotaan vain "Arg1" ja "Arg2".

  • Arg1 on arvo, johon meidän on käytettävä muotoilua.
  • Arg2 on muotoilu, jota meidän on sovellettava, ja meidän on määritettävä muotoilukoodi.

Esimerkkejä VBA-tekstitoiminnosta Excelissä

Alla on esimerkkejä Excel VBA -tekstitoiminnosta.

Voit ladata tämän VBA Text Excel -mallin täältä - VBA Text Excel -malli

Esimerkki 1

Haluan näyttää sinulle yksinkertaisen esimerkin TEKSTistä VBA Excelissä. Katso alla olevaa koodia Visual Basicissa.

Koodi:

 Aliteksti_esimerkki1 () Dim FormattingValue as String Dim FormattingResult As String FormattingValue = 0.564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub 

Ensinnäkin olen ilmoittanut kaksi muuttujaa merkkijonoksi VBA: ssa

 Dim FormattingValue as String Dim FormattingResult String 

Ensimmäiselle muuttujalle olen määrittänyt muotoilunumeron, joka meidän on muotoiltava.

FormattingValue = 0,564

Nyt toiselle muuttujalle olen määrittänyt TEXT-toiminnon.

FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")

Jos huomaat, olen käyttänyt ajan muotoilua eli "hh: mm: ss AM / PM"

Sitten lopuksi olen käyttänyt VBA-viestiruutua tuloksen näyttämiseksi.

MsgBox-muotoilutulos

Kun suoritan koodin, TEXT-toiminto käyttää aikamuotoa numeroon 0.564 ja näyttää tuloksen alla olevan mukaisesti.

Joten saimme ajan " 01:32:10 PM ".

Esimerkki 2

Samoin kuin päivämäärämuotoesimerkissä, olemme tehneet joitain pieniä muutoksia tässä esimerkissä. Alla on koodi.

Koodi:

 Aliteksti_esimerkki2 () Dim FormattingValue kuin merkkijono Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub 

Aikaisemmasta koodista olen muuttanut muotoilun arvon arvosta 0,565 arvoon 43585 ja muotoilun tyyliksi "PP-KK-VVVV".

Tämä käyttää muotoilua numeroon 43585 päivämääränä ja tulos on seuraava.

Käytä muotoilua soluihin

Olemme nähneet yksinkertaisia ​​esimerkkejä, katsokaa nyt, kuinka työskennellä solujen kanssa laskentataulukossa. Tässä esimerkissä tarkastellaan alla olevia tietoja.

Kaikille näille numeroille meidän on käytettävä aikamuotoa. Tätä varten alla oleva koodi käyttää muotoilua.

Koodi:

 Aliteksti_esimerkki3 () Dim k kokonaislukuna k = 1-10 soluun (k, 2) .Arvo = WorksheetFunction.Text (Solut (k, 1) .Arvo, "hh: mm: ss AM / PM") Seuraava k End Sub 

Tämä koodi silmukkaa 10 solua ja käyttää muotoilua kuten alla.

Näin voimme käyttää numeroiden muotoilua soluihin käyttämällä VBA TEXT -toimintoa.