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

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

Автор: Xiaoyang Последна промяна: 2020-05-08

В Excel можете да приложите функцията за сортиране, за да сортирате само един ред или колона в диапазон от колони, но ако трябва да сортирате няколко реда или колони независимо наведнъж, за да получите следната показана екранна снимка. Има ли бързи начини за решаване на тази задача в Excel?

doc сортиране на няколко колони 1

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

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


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

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

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

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

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

Sub SortIndividualJR()
'Updateby Extendoffice
    Dim xRg As Range
    Dim yRg As Range
    Dim ws As Worksheet
    Set ws = ActiveSheet
    On Error Resume Next
    Set xRg = Application.InputBox(Prompt:="Range Selection:", _
                                    Title:="Kutools for excel", Type:=8)
    Application.ScreenUpdating = False
    For Each yRg In xRg
        With ws.Sort
            .SortFields.Clear
            .SortFields.Add Key:=yRg, Order:=xlAscending
            .SetRange ws.Range(yRg, yRg.End(xlDown))
            .Header = xlNo
            .MatchCase = False
            .Apply
        End With
    Next yRg
    Application.ScreenUpdating = True
End Sub

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

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

4, И после щракнете върху OK, всяка колона е сортирана едновременно, вижте екранната снимка:

doc сортиране на няколко колони 1


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

Ако искате да сортирате няколко реда независимо, ето и VBA код за вас.

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

doc сортиране на няколко колони 3

2. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

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

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

Sub SortIndividualR()
'Updateby Extendoffice
    Dim xRg As Range, yRg As Range
    If TypeName(Selection) <> "Range" Then Exit Sub
    Set xRg = Selection
    If xRg.Count = 1 Then
        MsgBox "Select multiple cells!", vbExclamation, "Kutools for Excel"
        Exit Sub
    End If
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
    End With
    Application.ScreenUpdating = False
    For Each yRg In xRg.Rows
        yRg.Sort Key1:=yRg.Cells(1, 1), _
        Order1:=xlAscending, _
        Header:=xlNo, _
        Orientation:=xlSortRows
    Next yRg
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With
    Application.ScreenUpdating = True
End Sub

4. След това натиснете F5 ключ за изпълнение на този код, данните във всеки ред са сортирани наведнъж, вижте екранната снимка:

doc сортиране на няколко колони 4

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

🤖 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 (11)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
My data ranges from 0-100; When I Try to sort multiples rows at once, it starts the data off with the 100s, then sorts the rest numerically least to greatest, putting the 100s at the least side of the range. How can I fix this?
This comment was minimized by the moderator on the site
Update; I've realized it is sorting by the first digit in the number only - How do I get it to sort by the whole number?
This comment was minimized by the moderator on the site
Hi, Devyn,
The code works well in my worksheet. Could you upload your Excel file or data screenshot here? So that, we can help to check where the problem is?
Thank you!
This comment was minimized by the moderator on the site
Спасибо тебе человек!!
This comment was minimized by the moderator on the site
excellent post, thank you very much!
This comment was minimized by the moderator on the site
You have just saved me several headaches with this solution! Thanks a ton!
This comment was minimized by the moderator on the site
Thank you so much for this. It really helped. I would also like to know how to sort by color. I have 26 columns, each having different types of items identified by the font color. I would like to alphabetize all the columns individually but in a specific color order. How do I do this?
This comment was minimized by the moderator on the site
I love this, I'm curious as to the functionality of sorting by color for each column individually. I tried this but it didn't work:


Dim xRg As Range
Dim yRg As Range
Dim ws As Worksheet
Set ws = ActiveSheet
On Error Resume Next
Set xRg = Application.InputBox(Prompt:="Range Selection:", _
Title:="Kutools for excel", Type:=8)
Application.ScreenUpdating = False
For Each yRg In xRg
With ws.Sort
.SortFields.Clear
.SortFields.Add Key:=yRg, _
SortOn:=xlSortOnCellColor, Order:=xlDescending, DataOption:=xlSortNormal
.SetRange ws.Range(yRg, yRg.End(xlDown))
.Header = xlNo
.MatchCase = False
.Apply
End With
Next yRg
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
¿Cómo puedo ordenar por color múltiples filas de forma independiente y que las celdas que no tengan color estén a la derecha?
This comment was minimized by the moderator on the site
When I try to sort the columns it sorts data outside of the sected range! Why is this?
This comment was minimized by the moderator on the site
It works great ! thank you !
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations