W tym artykule utworzymy makro do pionowego oddzielenia tekstu w komórce do kolumny. Możemy rozgraniczyć tekst w komórce na podstawie ogranicznika. Ogranicznikiem może być przecinek, spacja, ukośnik odwrotny itp.
Aby wyjaśnić działanie makra, wzięliśmy adres URL jako przykładowy tekst w komórce A10. Makro można wykonać, klikając przycisk „Prześlij”.
Po wykonaniu makra zwróci dane wyjściowe w następnej kolumnie. Wartość tekstowa w komórce jest rozdzielana na wiele podciągów w wielu komórkach w drugiej kolumnie.
Wyjaśnienie logiczne
Stworzyliśmy makro „kolumny tekstowe”, które realizuje dwa zadania. Po pierwsze, ogranicza ciąg w A10 do wielu podciągów, na podstawie ogranicznika. W tym przykładzie użyliśmy myślnika (-) jako ogranicznika. Po drugie, przechodzi przez wygenerowane podciągi z wielu kolumn do jednej kolumny.
Wyjaśnienie kodu
Rng.texttocolumns Destination:=Rng.Offset(0, 1), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Other:=True, OtherChar _
:="-"
Powyższy kod służy do rozgraniczenia ciągu w zakresie „Rng”. Miejsce docelowe określa zakres lokalizacji, w których pojawią się dane wyjściowe. DataType określa typ użytego ogranicznika. TextQualifier określa znak, który jest używany jako kwalifikator tekstu. OtherChar określa znak używany jako ogranicznik.
Proszę postępować zgodnie z poniższym kodem!
Sub texttocolumns() 'Deklarowanie zmiennych Dim StartRow, i, LastCol As Long Dim Rng As Range 'wyłączenie wyświetlania alertów Application.DisplayAlerts = False 'Inicjowanie zmiennej StartRow = 10 Set Rng = Range("A10") 'Rozdzielenie tekstu na podstawie na ograniczniku Rng.texttocolumns Destination:=Rng.Offset(0, 1), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Other:=True, OtherChar _ :="-" 'Znajdowanie kolumny liczba komórek zawierających ostatni ciąg po ograniczeniu LastCol = Rng.End(xlToRight).Column 'układanie tekstu z kolumn na wiersze For i = 2 To LastCol Cells(10, i).Cut Cells(StartRow, 2) StartRow = StartRow + 1 Dalej i Zakończ Sub
Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.
Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail