V tomto článku vytvoříme makro pro oddělení textu v buňce na sloupec svisle. Na základě oddělovače můžeme text v buňce oddělit. Oddělovač může být buď čárka, mezera, zpětné lomítko atd.
Abychom vysvětlili fungování makra, vzali jsme URL jako ukázkový text v buňce A10. Makro lze spustit kliknutím na tlačítko „Odeslat“.
Po spuštění makra vrátí výstup v dalším sloupci. Textová hodnota v buňce je rozdělena na více dílčích řetězců ve více buňkách ve druhém sloupci.
Logické vysvětlení
Vytvořili jsme makro „texttocolumns“, které plní dva úkoly. Za prvé, ohraničuje řetězec v A10 na více dílčích řetězců na základě oddělovače. V tomto příkladu jsme jako oddělovač použili dash (-). Za druhé, prochází generovanými dílčími řetězci z více sloupců do jednoho sloupce.
Vysvětlení kódu
Rng.texttocolumns Cíl: = Rng.Offset (0, 1), DataType: = xlDelimited, _
Kvalifikátor textu: = xlDoubleQuote, ConsequiveDelimiter: = True, Other: = True, OtherChar _
:="-"
Výše uvedený kód slouží k oddělení řetězce v rozsahu „Rng“. Cíl určuje rozsah umístění, kde se výstup zobrazí. DataType určuje typ použitého oddělovače. TextQualifier určuje znak, který se použije pro kvalifikátor textu. OtherChar určuje znak použitý jako oddělovač.
Pro kód prosím postupujte níže
Dílčí textové sloupce () 'Deklarování proměnných Dim StartRow, i, LastCol jako Long Dim Rng As Range' deaktivující výstrahy na displeji Application.DisplayAlerts = False 'Inicializace proměnné StartRow = 10 Set Rng = Range ("A10")' Oddělení textu na základě na oddělovači Rng.texttocolumns Cíl: = Rng.Offset (0, 1), DataType: = xlDelimited, _ TextQualifier: = xlDoubleQuote, ConsequiveDelimiter: = True, Other: = True, OtherChar _: = "-" 'Hledání sloupce počet buněk obsahujících poslední řetězec po oddělení LastCol = Rng.End (xlToRight). Sloupec 'uspořádání textu ve sloupcích do řádků Pro i = 2 Do LastCol buněk (10, i). Vystřihnout buňky (StartRow, 2) StartRow = StartRow + 1 Další i Konec Sub
Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.
Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail