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

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

Автор: Слънце Последна промяна: 2020-07-08

Ако приемем, че има няколко колони, задачата е да подредите колоните отляво надясно в една колона, както е показано на екранната снимка по-долу. Освен ръчно преместване на колоните една по една, има ли някакви трикове за решаване на това в Excel?
doc стек колони отляво надясно 1

Подреждане на колони отляво надясно в една колона с VBA

Подредете колони отляво надясно в една колона с Kutools за Excel


Подреждане на колони отляво надясно в една колона с VBA

В Excel няма вградена функция, която да се справи с тази работа, но VBA кодът може да ви помогне.

1. Натиснете Alt + F11 ключове, след това в Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модули за създаване на нов празен модул.

2. Копирайте и поставете кода по-долу в Модули.

VBA: Подреждане на колони в една

Sub StackColumns()
'UpdatebyExtendoffice20180814
Dim xSRg, xDRg As Range
Dim xDWS As Worksheet
Dim xIntDR, xIntDC, xI As Long
Dim xFNumR, xFNumC As Long
On Error GoTo Err1
Set xSRg = Application.InputBox("Select Columns:", "Kutools for Excel", xTxt, , , , , 8)
If xSRg Is Nothing Then
Err1:
    Application.ScreenUpdating = True
    Exit Sub
End If
Set xDRg = Application.InputBox("Select a cell to place result:", "Kutools for Excel", xTxt, , , , , 8)
If xDRg Is Nothing Then
    Exit Sub
End If
Application.ScreenUpdating = False
Set xDWS = xDRg.Worksheet
xIntDR = xDRg.Row
xIntDC = xDRg.Column
xI = 0
    For xFNumC = 1 To xSRg.Columns.Count
        For xFNumR = 1 To xSRg.Rows.Count
            Set xDRg = xDWS.Cells(xIntDR + xI, xIntDC)
            xDRg.Value = xSRg.Cells(xFNumR, xFNumC).Value
            xI = xI + 1
        Next xFNumR
    Next xFNumC
Application.ScreenUpdating = True
End Sub

doc стек колони отляво надясно 2

3. Натиснете F5 за да стартирате кода, изскача диалогов прозорец, за да изберете колоните, които ще подредите в една.
doc стек колони отляво надясно 3

4. кликване OK, изберете клетка, за да поставите резултата.
doc стек колони отляво надясно 4

5. кликване OK да свърша. Сега избраните колони са подредени в една колона.
doc стек колони отляво надясно 5


Подредете колони отляво надясно в една колона с Kutools за Excel

Ако имате Kutools за Excel инсталиран в Excel, можете да използвате Transform Range помощна програма за справяне с тази работа.

Kutools за Excel, с повече от 300 удобни функции, прави работата ви по-лесна. 

След инсталиране Kutools за Excel, моля, направете следното:(Безплатно изтегляне Kutools за Excel сега!)

1. Изберете колоните, които искате да подредите, щракнете Kutools > Обхват > Transform Range.
doc стек колони отляво надясно 6

2. В Transform Range диалог, проверка Range to single row отметка, щракнете Ok.
doc стек колони отляво надясно 7

3. В изскачащия диалог изберете клетка, за да поставите резултата, щракнете върху OK.
doc стек колони отляво надясно 8

Сега колоните са преобразувани в един ред.
doc стек колони отляво надясно 9

4. Изберете единичния ред, натиснете Ctrl + C за да го копирате и изберете друга клетка, която ще постави колоната на стека, щракнете с десния бутон, за да изберете Transpose(T) в контекстното меню.
doc стек колони отляво надясно 10

Сега единичният ред е транспониран в колона стек.
doc стек колона отляво надясно 11

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

🤖 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
Does anyone know how to replace/hardcode the columns (not bring up the message box for selection)?So, set the XSRg to be something like: Set xSRg = Range("A1").CurrentRegion.Select(which does not work because of type mismatch)thanks
This comment was minimized by the moderator on the site
I will be eternally grateful to you. Thank you so much!
This comment was minimized by the moderator on the site
A Word cheat to do the same:
- copy all your rows and lines in Excel
- paste without into a Word doc
- ctrl + h (find and replace)
- copy a tabulation space between two rows
- paste into search bar
- replace by tabs by line breaks "^l"

All your cells are now in column in your Word doc.
Copy paste them into Excel: done!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations