Как да сортирате листове по стойност на клетка в Excel?
Когато използваме файл на Excel, винаги сортираме работните листове по азбучен ред, числа или цветове на раздели, но опитвали ли сте някога да сортирате разделите на листа по конкретна стойност на клетка?
Да предположим, че имате работна книга с десетки работни листове, във всеки работен лист клетка A1 има специфична стойност и сега трябва да сортирате всички работни листове в тази работна книга на базата на стойността на клетка A1 във всеки работен лист във възходящ ред. С тази статия ще получите решението.
Сортирайте всички работни листове въз основа на стойност на клетка с VBA код
Сортирайте всички работни листове въз основа на стойност на клетка с VBA код
За да сортирате всички работни листове въз основа на стойност на клетка в Excel, няма директен начин за нас, но следният VBA код може да ви направи услуга.
1. Задръжте натиснат ALT + F11 ключове и отваря Прозорец на Microsoft Visual Basic за приложения.
2. Щракнете Поставете > Модулии поставете следния код в Прозорец на модула.
VBA код: Сортирайте всички листове въз основа на стойност на клетка
Sub SortWksByCell()
'Update 20141127
Dim WorkRng As Range
Dim WorkAddress As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range (Single)", xTitleId, WorkRng.Address, Type:=8)
WorkAddress = WorkRng.Address
Application.ScreenUpdating = False
For i = 1 To Application.Worksheets.Count
For j = i To Application.Worksheets.Count
If VBA.UCase(Application.Worksheets(j).Range(WorkAddress)) < VBA.UCase(Application.Worksheets(i).Range(WorkAddress)) Then
Application.Worksheets(j).Move Before:=Application.Worksheets(i)
End If
Next
Next
Application.ScreenUpdating = True
End Sub
3. След като поставите кода, натиснете F5 за да изпълните този код и ще изскочи поле за подкана, за да ви напомни, че изберете клетка, въз основа на която искате да сортирате листовете, вижте екранната снимка:
4. И сега можете да видите, че всички работни листове са сортирани според текстовата стойност на клетка A1 във всеки работен лист във възходящ ред.
Забележки:
1. Ако има както числа, така и текстови низове в избраните от вас клетки, листовете, съдържащи числа, ще бъдат сортирани преди листовете с текстови низове.
2. Ако има празно място в една от клетките A1, съответният работен лист ще бъде сортиран в началото на всички листове.
Още по темата:
Как да сортирате работни листове по азбучен / буквено-цифров ред в Excel?
Как да сортирате раздели на работен лист по цвят в Excel?
Как да обърна реда на разделите на работния лист?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!