Excel VBA; Ako triediť stôl pomocou VBA; Denis Reis

Tento príspevok je súčasťou série VBA Basics.
Často sa ma pýtajú, ako zoradiť hodnoty v tabuľke pomocou VBA. V tomto príspevku vám ukážem, ako na to, pomocou dvoch príkladov.
Výstupná tabuľka zobrazuje tržby podľa miest.
| mesto | predaj |
| Berlín | 362 |
| Hamburg | 832 |
| Mníchov | 290 |
| Kolín nad Rýnom | 901 |
| Frankfurt | 335 |
| Stuttgart | 987 |
| Dusseldorf | 257 |
| Dortmund | 470 |
| jesť | 867 |
| Lipsko | 661 |
Chceme triediť tabuľku podľa tržieb a podľa názvu mesta.

Aby sme to dosiahli, najskôr vytvoríme nové makro.
Najskôr definujeme parametre a určíme, ktorá oblasť by sa mala triediť. Najprv chceme triediť podľa predaja v stĺpci B.
K tomu použijeme metódu Sort, ktorá triedi rozsah hodnôt. Táto metóda má množstvo parametrov, z ktorých iba pár použijeme. Kompletný zoznam všetkých parametrov nájdete v referencii Microsoft VBA.
Chceme zoradiť tržby v stĺpci B vzostupne. Aby sme to dosiahli, musíme určiť prvé triediace pole v Key1; tým sa určia hodnoty, ktoré sa majú zoradiť. V prípade potreby môžete definovať aj niekoľko zoradených polí. Triediace pole je možné preniesť buď ako názov rozsahu, alebo ako objekt rozsahu. Vlastnosť Range sme vybrali kvôli flexibilite.
V druhom parametri Order1 určíte poradie triedenia pomocou xlAscending (vzostupne) alebo xlDescending (zostupne). Okrem toho Excelu prostredníctvom parametra Hlavička povieme, že naša tabuľka obsahuje nadpisy. Ak tu použijete hodnotu xlGuess, Excel sa pokúsi určiť, či má tabuľka nadpisy alebo nie.
Celé makro teda vyzerá takto:
Spôsob spustenia makra je zoradený podľa tržieb:
| mesto | predaj |
| Dusseldorf | 257 |
| Mníchov | 290 |
| Frankfurt | 335 |
| Berlín | 362 |
| Dortmund | 470 |
| Lipsko | 661 |
| Hamburg | 832 |
| jesť | 867 |
| Kolín nad Rýnom | 901 |
| Stuttgart | 987 |

111 makier VBA, ktoré uľahčujú váš život
Chcete sa zbaviť svojich nudných bežných úloh? Prajete si prispôsobiť Excel svojim potrebám, automatizovať výpočty, vytvárať vlastné dialógové okná a oveľa viac? Táto kniha vám ukáže, ako rýchlo a ľahko vykonávať svoje úlohy pomocou VBA.
Teraz máte mestá uvedené podľa predaja.

Teraz usporiadajme mestá podľa abecedy. Zavádzam nový parameter. Pomocou MatchCase môžete určiť, či sa majú brať do úvahy veľké alebo malé písmená.
Pre nové makro jednoducho zmeníme parameter strColumn a pridáme MatchCase.
Po spustení makra sa tabuľka zoradí vzostupne podľa mesta.
| mesto | predaj |
| Berlín | 362 |
| Dortmund | 470 |
| Dusseldorf | 257 |
| jesť | 867 |
| Frankfurt | 335 |
| Hamburg | 832 |
| Kolín nad Rýnom | 901 |
| Lipsko | 661 |
| Mníchov | 290 |
| Stuttgart | 987 |

Ukážkový súbor programu Excel s makrom pripraveným na použitie a ďalšími 111+ makrami, ktoré uľahčujú váš život, nájdete tu.
Urobte na svojho šéfa dojem skvelými trikmi Excel!
- Nenechajte svojich kolegov, aby na vás záviseli!
- Ušetrite čas a využite ho na príjemnejšie veci
- Zvýšte svoju produktivitu a efektívnosť
- Je to jednoduché - v mojom bulletine uvádzam podrobné pokyny, ktorým môže každý porozumieť
- Keď sa zaregistrujete do môjho bulletinu, dostanete ako darček darček knihu „Triky Excel, ktoré zapôsobia na vášho šéfa“.

Zdroj obrázkov: Pixabay, CC0 Public Domain
Zdieľať záznam
Tiež by vás mohlo zaujímať






ďakujem za podrobné vysvetlenie. Mohla by som to super využiť.
Bohužiaľ mám problém, že v mojej tabuľke, ktorý stĺpec obsahuje A až N a je zoradený podľa stĺpca M, stĺpec N nie je zoradený, ale jednoducho zostáva.
Preto zostáva otázka: Čo znamená „1“ v tomto riadku kódu:
Key1: = Range (strColumn & "1"), Order1: = xlAscending, _
Ďakujeme a ostávame s pozdravom
Friederike
Rikeova otázka je veľmi zaujímavá. To by som tiež rád vedel.
Ďakujem a pozdravujem
Toto je kombinácia strColumn, ktorá je v príklade „A“, a 1 ... takže výsledkom bude bunka A1 ... & v rozsahu je odkaz