Excel VBA TRIM -toiminto (selitetty esimerkeillä)

Sisällysluettelo

Excelissä on jo TRIM -laskentataulukkotoiminto, jonka avulla voit päästä eroon sanojen/merkkijonojen välissä olevista alku-, loppu- ja ylimääräisistä välilyönneistä.

VBA: ssa on myös TRIM -toiminto (ja se tekee täsmälleen saman asian - poista ylimääräiset välilyönnit).

Miksi tarvitsemme TRIM -toimintoa myös VBA: ssa?

Reilu kysymys!

Vaikka voit työskennellä Excel -laskentataulukoiden sisäänrakennetun TRIM -toiminnon kanssa päästäksesi eroon välilyönneistä. joissakin tapauksissa tämä on ehkä tehtävä VBA: n avulla.

Tämä voi olla osa isompaa koodia.

VBA TRIM -toiminnon syntaksi

TRIM (merkkijono)

"Jono" on argumentti, joka voi olla tekstimerkkijono tai muuttuja, joka sisältää tekstimerkkijonon.

Opetellaan käyttämään VBA TRIM -toimintoa muutaman esimerkin avulla.

Esimerkki 1 - Tuloksen näyttäminen viestiruudussa

Oletetaan, että solussa A1 on seuraava teksti

Huomaa, että ennen ja jälkeen lauseen on välilyöntejä.

Alla oleva koodi ottaa tämän lauseen ja näyttää tuloksen ylimääräisten välilyöntien leikkaamisen jälkeen

AlaleikkausEsimerkki1 () MsgBox -leikkaus (alue ("A1")) Loppuosa

On yksi tärkeä asia tietää, kun käytät TRIM -toimintoa VBA: ssa - se poistaa vain edessä ja takana olevat välilyönnit. Se ei poista sanojen välistä ylimääräisiä välilyöntejä (kuten laskentataulukon sisäänrakennettu TRIM-toiminto tekee).

Oletetaan esimerkiksi, että solussa A1 on seuraava teksti (sanojen välissä on välilyöntejä):

Jos käytän yllä olevaa VBA -koodia, se näyttää alla olevan viestiruudun:

Kuten näet viestiruudun tuloksesta, VBA TRIM -toiminto ei poista ylimääräisiä välilyöntejä sanojen välillä.

Mikä sitten on vaihtoehto?

Jos haluat poistaa alku-, loppu- ja kaksoisvälit sanojen välistä, on parempi käyttää seuraavaa koodia:

Sub TrimExample1 () MsgBox WorksheetFunction.Trim (Range ("A1")) End Sub

Yllä oleva koodi käyttää laskentataulukon TRIM -toimintoa (sen sijaan, että käytät TRIM -toimintoa VBA: ssa).

Huomautus: VBA -leikkaustoiminto ei poista tyhjiä välilyöntejä sisältäviä merkkejä, kuten uusia rivejä (vbNewLine, vbCrLf) jne.

Esimerkki 2 - Poista nopeasti johtavat ja jäljessä olevat tilat solualueelta

Oletetaan, että sinulla on alla esitetyn kaltainen tietojoukko, jossa on edessä ja takana olevia välilyöntejä:

Alla olevan koodin avulla voit puhdistaa tiedot välittömästi ja poistaa kaikki edessä ja takana olevat välilyönnit:

Sub TrimExample1 () Dim Rng as Range Set

Yllä oleva koodi kulkee valinnan kaikkien solujen läpi ja poistaa edessä ja takana olevat välilyönnit.

Saatat pitää myös seuraavista Excel/VBA -opetusohjelmista:

  • 10 tapaa puhdistaa tiedot Excelissä.
  • Excel VBA Split -toiminto.
  • Excel VBA InStr -toiminto.
  • VBA LCase -toiminto.
  • VBA UCase -toiminto.
  • Käyttäjän määrittämän funktion (UDF) luominen Excel VBA: ssa.
wave wave wave wave wave