Přeskočit navigaci | Přeskočit na novinky

Jste zde: Úvodní stránka » excel » vba-priklady-kodu » VBA-sort-razeni-Excel
Microsoft Excel logo

Sort - řazení Excel VBA

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

Vše co se chcete zeptat o formulářích a bojíte se., Postupně vytvoříte formulář, který dokáže do tabulky zadat údaje, údaje vyhledat (zobrazit) a případně upravit (přepsat).

Úvodem do POZVYHLEDAT (MATCH)

V tomto článku se dozvíte praktické použití vyhledávací funkce POZVYHLEDAT (v angličtině MATCH). Včetně teoretického úvodu a sešitu ke stažení zdarma. Ať si můžete doma prakticky odzkoušet. Pro přehednost je článek rozdělen na jednotlivé kapitoly.

Seznam kapitol

Syntaxe SORT

Vyhledá zadanou položku v oblasti buněk a vrátí relativní pozici dané položky v oblasti.

Syntaxe

.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)

Parametery

Jméno Vyžadován Datový typ Popis
Key1 Nepoviný Variant Určuje první třídící pole (sloupec).
Order1 Nepoviný XlSortOrder Pořadí řazení pro hodnoty uvedené v Key1.
Key2 Nepoviný Variant Určuje druhé třídící pole (sloupec). Nelze pro kontingenční tabulku.
Type Nepoviný Variant Které prvky mají být řazeny.
Order2 Nepoviný XlSortOrder Pořadí řazení pro hodnoty uvedené v Key2.
Key3 Nepoviný Variant Určuje třetí třídící pole (sloupec). Nelze pro kontingenční tabulku.
Order3 Nepoviný XlSortOrder Pořadí řazení pro hodnoty uvedené v Key3.
Header Nepoviný XlYesNoGuess Určuje, zda první řádek obsahuje záhlaví. xlNo je výchozí hodnota (není) xlGuess (obsahuje)
OrderCustom Nepoviný Variant  
MatchCase Nepoviný Variant Velká malá písmena. True je výchozí hodnota. Nelze pro KT.
Orientation Nepoviný XlSortOrientation Vzestupně sestupně. xlAscending, xlDescending
SortMethod Nepoviný XlSortMethod Metoda třídění
DataOption1 Nepoviný XlSortDataOption Třídění textu v poli uvedeném v Key1. Neplatí pro třídění v KT
DataOption2 Nepoviný XlSortDataOption Třídění textu v poli uvedeném v Key1. Neplatí pro třídění v KT
DataOption3 Nepoviný XlSortDataOption Třídění textu v poli uvedeném v Key1. Neplatí pro třídění v KT

Ukázka

Řazení budeme provádět na následujíci tabulce. Ke stažení na konci článku.

SORT - řazení - Excel VBA

Vyčistit řazení

Doporučeno provéstt před vlastním řazením. Vkláda i záznamník maker.

ActiveWorkbook.Worksheets("SORT office.lasakovi.com ").Sort.SortFields.Clear

Řazení podle určitého sloupce

Jak seřadit tabulku podle vybraného sloupce.

With ActiveWorkbook.Worksheets("SORT office.lasakovi.com ") .Range("B6:I430").Sort _ Key1:=.Range("G7"), Order1:=xlAscending, Header:=xlYes End With

Poznámka: Oblast i sloupec je dána napevno, v dalších příkladech bude uvedeno jak oblast vytvořit dynamicky.

Řazení podle podle více sloupců

Použití pro až tři. Jak na více je popsáno dále.

With ActiveWorkbook.Worksheets("SORT office.lasakovi.com ") .Range("B6:I430").Sort _ Key1:=.Range("C2"), Order1:=xlAscending, Header:=xlYes _ , Key2:=.Range("G7"), Order2:=xlAscending, Header:=xlYes End With

Poznámka: Oblast i sloupece jsou dány napevno, v dalších příkladech bude uvedeno jak oblast vytvořit dynamicky.

Řazení podle podle více sloupců

aplikace - SortFields.Add

With ActiveWorkbook.Worksheets("SORT office.lasakovi.com ").Sort With .SortFields .Clear .Add Key:=Range("C6:C430"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .Add Key:=Range("G6:G430"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .Add Key:=Range("D6:D430"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers .Add Key:=Range("E6:E430"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers End With .SetRange Range("B6:I430") .Apply End With

Vychytávky - dynamická oblast ...

'dynamická oblast With Range("B6", Range("I" & Rows.Count).End(xlUp)) .Sort Key1:=.Cells(1, 2), Order1:=xlAscending, _ key2:=.Cells(1, 6), order2:=xlAscending, _ key3:=.Cells(1, 7), order3:=xlAscending, Header:=xlGuess End With

Dim lastrow As Long lastrow = Cells(Rows.Count, 2).End(xlUp).Row Range("B6:I" & lastrow).Sort key1:=Range("B3:B" & lastrow), order1:=xlAscending, Header:=xlNo

Set oneRange = Range("B6:I430") Set aCell = Range("B7") oneRange.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes

Související články SORT

Microsoft Excel VBA - stahuj logo

Ke stažení

Soubor SORT - zdrojová tabulka - Excel soubor ve formátu *.xlsx ke stažení zdarma.


Závěrem

Máte nějaké zajímavé použití (aplikaci) funkce POZVYHLEDAT? Můžete zmínit v komentařích.

Článek byl aktualizován: 19.09.2020 11:07

Podpora - oceňte web a pozvěte mě na čokoládu

Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.

Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .

Poděkování

Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.

Vylepšení

Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.

   Pavel Lasák LinkedIn Profil    Pavel Lasák twitter Profil





Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |