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

Odměna

Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). 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 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil


Komentáře zatím nejsou

Můžete být prvními co zanechají smysluplný komentář.







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 - 2024 |