Selles artiklis loome makro, et eraldada lahtris olev tekst vertikaalselt veeruks. Lahtris oleva teksti saame piiritleda eraldaja põhjal. Eraldaja võib olla koma, tühik, tagasilöök jne.
Makro töö selgitamiseks oleme võtnud lahtris A10 näidistekstina URL -i. Makrot saab käivitada, klõpsates nuppu „Esita”.
Pärast makro käivitamist tagastab see järgmise veeru väljundi. Lahtri tekstiväärtus on eraldatud teise veeru mitmes lahtris mitmeks alamstringiks.
Loogiline seletus
Oleme loonud makro „tekstiveergud”, mis täidavad kahte ülesannet. Esiteks piiritleb see A10 stringi eraldaja põhjal mitme alamstringiga. Selles näites kasutasime eraldajana kriipsu (-). Teiseks läbib see genereeritud alamstringid mitmest veerust ühte veergu.
Koodi selgitus
Rng.textto veergude sihtkoht: = Rng. Offset (0, 1), DataType: = xlDelimited, _
TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _
:="-"
Ülaltoodud koodi kasutatakse stringi piiritlemiseks vahemikus „Rng”. Sihtkoht määrab asukohavahemiku, kus väljund kuvatakse. DataType määrab kasutatava eraldaja tüübi. TextQualifier määrab tähemärgi, mida kasutatakse teksti kvalifikaatori jaoks. OtherChar määrab eraldajana kasutatava märgi.
Palun järgige koodi allpool
Alamtekstiveergud () 'Muutujate deklareerimine Dim StartRow, i, LastCol As Long Dim Rng As Range' kuvamise hoiatuste keelamine Application.DisplayAlerts = False 'Muutuja StartRow = 10 initsialiseerimine Set Rng = Range ("A10") eraldajal Rng.texttocolumns Sihtkoht: = Rng.Offset (0, 1), DataType: = xlDelimited, _ TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _: = "-" 'Veeru leidmine lahtri arv, mis sisaldab viimast stringi pärast piiritlemist LastCol = Rng.End (xlToRight). Veerg 'teksti paigutamine veergudeks ridadeks I = 2 kuni LastCol lahtrid (10, i). Lahtrite lõikamine (StartRow, 2) + 1 Järgmine i End Sub
Kui teile see blogi meeldis, jagage seda oma sõpradega Facebookis. Lisaks saate meid jälgida Twitteris ja Facebookis.
Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd paremaks muuta ja teie jaoks paremaks muuta. Kirjuta meile meilisaidile