Když distribuujete své excelové sestavy svým zákazníkům, je často příjemné přidat pár zvonků a píšťalek. Jedním ze snadněji použitelných vylepšení je možnost řazení při dvojitém kliknutí na záhlaví sloupce. I když to může znít složitě, s tímto makrem je to poměrně snadné.
Funkční příklad této techniky dvojkliku si můžete stáhnout v Excelu .
Jak makro funguje
V tomto makru nejprve najdete poslední prázdný řádek. Toto číslo řádku pak použijete k definování cílového rozsahu řádků, které potřebujete seřadit. Pomocí metody Sort seřadíte cílové řádky podle sloupce, na který jste dvakrát klikli.
Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
'Krok 1: Deklarujte své proměnné
Dim LastRow As Long
'Krok 2: Najděte poslední neprázdný řádek
LastRow = Buňky(Řádky.Počet, 1).Konec(xlUp).Řádek
'Krok 3: Seřaďte vzestupně ve sloupci, na který jste dvakrát klikli
Rows("6:" & LastRow).Seřadit _
Key1:=Cells(6, ActiveCell.Column), _
Pořadí1:=xlVzestupně
End Sub
V kroku 1 deklarujete proměnnou Long Integer s názvem LastRow, která bude obsahovat číslo řádku posledního prázdného řádku.
V kroku 2 zachytíte poslední neprázdný řádek tak, že začnete na úplně posledním řádku v listu a pomocí vlastnosti End přeskočíte na první prázdnou buňku (ekvivalent přechodu do buňky A1048576 a stisknutí Ctrl+Shift+šipka nahoru).
Všimněte si, že musíte změnit číslo sloupce v této buňce na takové, které je vhodné pro vaši datovou sadu. Pokud například vaše tabulka začíná na sloupci J, musíte změnit příkaz v kroku 2 na Cells(Rows.Count, 10).End(xlUp).Row, protože sloupec J je 10. sloupec v listu.
V kroku 3 definujete celkový rozsah řádků pro vaše data. Mějte na paměti, že rozsah řádků musí začínat prvním řádkem dat (kromě záhlaví) a končit posledním prázdným řádkem. V tomto případě vaše datová sada začíná na řádku 6, takže použijete metodu Sort on Rows(“6:” & LastRow).
Argument Klíč říká Excelu, podle kterého rozsahu se má řadit. Opět budete chtít zajistit, aby rozsah, který používáte, začínal prvním řádkem dat (kromě záhlaví).
Jak používat makro
Chcete-li implementovat toto makro, musíte jej zkopírovat a vložit do okna kódu události Worksheet_BeforeDoubleClick. Umístěním makra sem umožníte jeho spuštění pokaždé, když dvakrát kliknete na list:
Aktivujte Editor jazyka stisknutím ALT+F11.
V okně Projekt najděte název projektu/sešitu a kliknutím na znaménko plus vedle něj zobrazte všechny listy.
Klikněte na list, ze kterého chcete spustit kód.
V rozevíracím seznamu Událost vyberte událost BeforeDoubleClick.
Zadejte nebo vložte kód.