Прескочи на основното съдържание

Как да конвертирате текстов низ, разделен със запетая, в списък или редове в Excel?

Автор: Xiaoyang Последна промяна: 2020-07-03
doc конвертиране на стойности със запетая в списък 1

Да предположим, че имате списък със стойности на клетки, които са разделени със запетаи, сега трябва да конвертирате тези текстови низове, разделени със запетая, в множество редове или колона, както е показано на следната екранна снимка. Как може да се разделят множество стойности на клетки в редове въз основа на разделител със запетая наведнъж в Excel?

Преобразувайте текстов низ, разделен със запетая, в редове с VBA код

Преобразувайте текстов низ, разделен със запетая, в редове с Kutools за Excel


Преобразувайте текстов низ, разделен със запетая, в редове с VBA код

Следният VBA код може да ви помогне да конвертирате множество стойности на клетки, разделени със запетая, в колона, моля, направете следното:

1. Задръжте натиснат Alt + F11 клавиши в Excel и отваря Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии поставете следния макрос в Модули Window.

VBA код: Преобразувайте текстов низ, разделен със запетая, в редове или списък

Sub RedistributeCommaDelimitedData()
'Updateby Extendoffice
    Dim xArr() As String
    Dim xAddress As String
    Dim Rg As Range
    Dim Rg1 As Range
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set Rg = Application.InputBox("please select the data range:", "Kutools for Excel", xAddress, , , , , 8)
    If Rg Is Nothing Then Exit Sub
    Set Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)
    If Rg Is Nothing Then Exit Sub
    Set Rg1 = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)
    If Rg1 Is Nothing Then Exit Sub
    xArr = Split(Join(Application.Transpose(Rg.Value), ","), ",")
    Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)
    Rg1.Parent.Activate
    Rg1.Resize(UBound(xArr) + 1).Select
End Sub

3. След това натиснете F5 за да изпълните този код, в изскачащия диалогов прозорец изберете диапазона от данни, който искате да конвертирате, вижте екранната снимка:

doc конвертиране на стойности със запетая в списък 2

4, И натиснете OK, в следния диалогов прозорец посочете клетка, в която искате да изведете резултата, вижте екранната снимка:

doc конвертиране на стойности със запетая в списък 3

5. Щракнете OK избраните стойности на клетки, разделени със запетая, са преобразувани в списък от редове. Вижте екранна снимка:

doc конвертиране на стойности със запетая в списък 4


Преобразувайте текстов низ, разделен със запетая, в редове с Kutools за Excel

Ако имате Kutools за Excel, Със своята Разделени клетки помощна програма, можете бързо да разделите стойностите на клетките, разделени със запетая, на множество редове или колони въз основа на разделителя със запетая, както ви е необходимо.

Kutools за Excel : с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. 

След инсталиране Kutools за Excel, моля, направете следните стъпки:

1. Изберете стойностите на клетките, които искате да конвертирате в редове въз основа на разделителя със запетая.

2, След това кликнете Kutools > Обединяване и разделяне > Разделени клетки, вижте екранна снимка:

3. В Разделени клетки изберете диалоговия прозорец Разделяне на редове вариант по Тип раздел, а след това от Посочете разделител раздел, проверете Други отметка и след това въведете запетая в текстовото поле, вижте екранната снимка:

doc преобразуване на стойности със запетая в списък 6 6

4, След това кликнете Okи друг диалогов прозорец ще изскочи, за да ви напомни, че изберете клетка, за да поставите резултата, вижте екранната снимка:

doc конвертиране на стойности със запетая в списък 7

5, И после щракнете върху Ok бутон, клетките, разделени със запетая, са разделени на множество редове въз основа на разделителя със запетая, вижте екранната снимка:

doc конвертиране на стойности със запетая в списък 8

Кликнете, за да научите повече за тази функция за разделени клетки...

Изтеглете и изпробвайте безплатно Kutools за Excel сега!


Демонстрация: Преобразувайте текстов низ, разделен със запетая, в редове с Kutools за Excel

Kutools за Excel: с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. Изтеглете и изпробвайте безплатно сега!

Още по темата:

Как да разделя клетките на множество колони или редове чрез връщане на каретка?

Как да разделя стойностите на клетките в множество колони в Excel?

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
update to work for a single input cell (mentioned by Sid posted before me). Probably a way to do this for both scenarios, but this worked for me, I had the same issue.

Sub RedistributeCommaDelimitedData_singleCell()

'Updateby Extendoffice 201592

Dim xArr() As String

Dim xAddress As String

Dim Rg As Range

Dim Rg1 As Range

On Error Resume Next

xAddress = Application.ActiveWindow.RangeSelection.Address

Set Rg = Application.InputBox("please select the data range:", "Kutools for Excel", xAddress, , , , , 8)

If Rg Is Nothing Then Exit Sub

Set Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)

If Rg Is Nothing Then Exit Sub

Set Rg1 = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)

If Rg1 Is Nothing Then Exit Sub



' xArr = Split(Join(Application.Transpose(Rg.value), ","), ",") -------- need this if you have multiple input cells in your input range (Rg)

' replace with this for single input cell for Rg:

xArr = Split(Rg.value, ",")

Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)

Rg1.Parent.Activate

Rg1.Resize(UBound(xArr) + 1).Select



End Sub
This comment was minimized by the moderator on the site
I have a cell with 667 characters, of which 119 are commas.With this VBA code I can't split. Can you help me please?Thank you very much!
This comment was minimized by the moderator on the site
Hi, I have a single row but this formula do not work for single row while it works for multiple rows could you guide on that would be a great help Thanks
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations