Når du distribuerer Excel-rapportene til kundene dine, er det ofte fint å legge til noen ringeklokker. En av de enklere forbedringene å bruke er muligheten til å sortere når en kolonneoverskrift dobbeltklikkes. Selv om dette kan høres komplisert ut, er det relativt enkelt med denne makroen.
Du kan laste ned et fungerende eksempel på denne dobbeltklikkteknikken i Excel .
Hvordan makroen fungerer
I denne makroen finner du først den siste ikke-tomme raden. Du bruker deretter det radnummeret til å definere målområdet for rader du må sortere. Ved å bruke sorteringsmetoden sorterer du målradene etter kolonnen du dobbeltklikket.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Trinn 1: Deklarer variablene dine
Dim Last Row As Long
'Trinn 2: Finn siste ikke-tomme rad
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
'Trinn 3: Sorter stigende på dobbeltklikket kolonne
Rows("6:" & LastRow).Sorter _
Key1:=Cells(6, ActiveCell.Column), _
Rekkefølge1:=xlStigende
End Sub
I trinn 1 erklærer du en lang heltallsvariabel kalt LastRow for å holde radnummeret til den siste ikke-tomme raden.
I trinn 2 fanger du den siste ikke-tomme raden ved å starte på den aller siste raden i regnearket og bruke End-egenskapen for å hoppe opp til den første ikke-tomme cellen (tilsvarer å gå til celle A1048576 og trykke Ctrl+Shift+pil opp).
Merk at du må endre kolonnenummeret i denne cellen til et som passer for datasettet ditt. For eksempel, hvis tabellen starter på kolonne J, må du endre setningen i trinn 2 til Cells(Rows.Count, 10).End(xlUp).Row fordi kolonne J er den 10. kolonnen i regnearket.
I trinn 3 definerer du det totale radområdet for dataene dine. Husk at rekkevidden må starte med den første raden med data (unntatt overskrifter) og slutter med den siste raden som ikke er tomme. I dette tilfellet starter datasettet ditt på rad 6, så du bruker sorteringsmetoden på rader(“6:” & LastRow).
Key-argumentet forteller Excel hvilket område som skal sorteres på. Igjen vil du sørge for at området du bruker starter med den første raden med data (unntatt overskriftene).
Hvordan bruke makroen
For å implementere denne makroen må du kopiere og lime den inn i vinduet Worksheet_BeforeDoubleClick hendelseskode. Ved å plassere makroen her kan den kjøres hver gang du dobbeltklikker på arket:
Aktiver Visual Basic Editor ved å trykke ALT+F11.
I prosjektvinduet finner du navnet på prosjektet/arbeidsboken og klikker på plusstegnet ved siden av det for å se alle arkene.
Klikk på arket du vil utløse koden fra.
I rullegardinlisten Hendelse velger du BeforeDoubleClick-hendelsen.
Skriv eller lim inn koden.