Lahtri teksti piiritlemine vertikaalselt veeruks

Anonim

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