Kada distribuirate svoja Excel izvješća svojim klijentima, često je lijepo dodati nekoliko zvona i zviždaljki. Jedno od lakših poboljšanja za primjenu je mogućnost sortiranja kada se dvaput klikne na zaglavlje stupca. Iako ovo može zvučati komplicirano, s ovom makronaredbom je relativno lako.
Radni primjer ove tehnike dvostrukog klika možete preuzeti u Excelu .
Kako makro funkcionira
U ovoj makronaredbi prvo ćete pronaći zadnji neprazan red. Zatim koristite taj broj retka za definiranje ciljnog raspona redaka koje trebate sortirati. Koristeći metodu Sort, razvrstavate ciljne retke prema stupcu koji ste dvaput kliknuli.
Privatni pod radni list_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Korak 1: Deklarirajte svoje varijable
Zatamni zadnji red koliko dugo
'Korak 2: Pronađite zadnji neprazan redak
ZadnjiRed = Ćelije(Redci.Broj, 1).Kraj(xlUp).Red
'Korak 3: Sortiraj uzlazno na stupcu koji se dvaput klikne
Redovi("6:" & LastRow).Sortiraj _
Ključ1:=Ćelije(6, ActiveCell.Kolona), _
Red1:=xlUzlazno
Kraj Sub
U koraku 1, deklarirate varijablu Long Integer pod nazivom LastRow da zadrži broj retka posljednjeg nepraznog retka.
U 2. koraku snimate posljednji neprazan red tako da počnete od posljednjeg retka na radnom listu i koristite svojstvo End da skočite na prvu nepraznu ćeliju (ekvivalentno odlasku na ćeliju A1048576 i pritiskanju Ctrl+Shift+strelica gore).
Imajte na umu da morate promijeniti broj stupca u ovoj ćeliji u onaj koji je prikladan za vaš skup podataka. Na primjer, ako vaša tablica počinje od stupca J, morate promijeniti izraz u koraku 2 u Cells(Rows.Count, 10).End(xlUp).Row jer je stupac J 10. stupac na radnom listu.
U 3. koraku definirate ukupan raspon redaka za svoje podatke. Imajte na umu da raspon redaka mora početi s prvim redom podataka (isključujući zaglavlja) i završava posljednjim nepraznim redom. U ovom slučaju, vaš skup podataka počinje od retka 6, tako da koristite metodu Sortiranje za redove(“6:” & LastRow).
Argument Key govori Excelu po kojem rasponu treba sortirati. Opet ćete htjeti osigurati da raspon koji koristite počinje s prvim redom podataka (isključujući zaglavlja).
Kako koristiti makro
Da biste implementirali ovu makronaredbu, trebate je kopirati i zalijepiti u prozor koda događaja Worksheet_BeforeDoubleClick. Postavljanje makronaredbe ovdje omogućuje njeno pokretanje svaki put kada dvaput kliknete na list:
Aktivirajte Visual Basic Editor pritiskom na ALT+F11.
U prozoru Projekt pronađite naziv projekta/radne knjige i kliknite znak plus pored njega da biste vidjeli sve listove.
Kliknite list s kojeg želite pokrenuti kod.
U padajućem okviru Događaj odaberite događaj BeforeDoubleClick.
Unesite ili zalijepite kod.