В тази статия ще създадем макрос за разграничаване на текста в клетка до колона вертикално. Можем да ограничим текста в клетката въз основа на разделителя. Разделителят може да бъде или запетая, интервал, обратна наклонена черта и т.н.
За да обясним работата на макроса, взехме URL като примерен текст в клетка A10. Макросът може да бъде изпълнен, като щракнете върху бутона „Изпращане“.
След изпълнение на макроса той ще върне изхода в следващата колона. Текстовата стойност в клетката е разделена на множество поднизове в множество клетки във втората колона.
Логично обяснение
Създадохме макрос „текстови колони“, който изпълнява две задачи. Първо, той ограничава низа в A10 до множество поднизове, въз основа на разделителя. В този пример използвахме тире (-) като разделител. Второ, той пресича генерираните поднизове от няколко колони до една колона.
Обяснение на кода
Rng.texttocolumns Дестинация: = Rng.Offset (0, 1), DataType: = xlDelimited, _
TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _
:="-"
Горният код се използва за ограничаване на низ в диапазона „Rng“. Дестинация определя диапазона на местоположението, където ще се появи изход. DataType определя типа на използвания разделител. TextQualifier задава знака, който се използва за текстов квалификатор. OtherChar определя знака, използван като разделител.
Моля, следвайте кода по -долу
Sub texttocolumns () "Деклариране на променливи Dim StartRow, i, LastCol As Long Dim Rng As Range" деактивиране на предупрежденията на дисплея Application.DisplayAlerts = False 'Инициализиране на променливата StartRow = 10 Set Rng = Range ("A10") "Разделяне на текста въз основа на на разделителя Rng.texttocolumns Дестинация: = Rng.Offset (0, 1), DataType: = xlDelimited, _ TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _: = "-" 'Намиране на колоната номер на клетка, съдържаща последния низ след разграничаване LastCol = Rng.End (xlToRight) .Колона 'подреждане на текста в колони на редове За i = 2 Към клетките LastCol (10, i). Изрязване на клетки (StartRow, 2) StartRow = StartRow + 1 Напред i End Sub
Ако този блог ви е харесал, споделете го с приятелите си във Facebook. Също така можете да ни следвате в Twitter и Facebook.
Ще се радваме да чуем от вас, уведомете ни как можем да подобрим работата си и да я направим по -добра за вас. Пишете ни на имейл сайта