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