Excel-makroer er måske ikke så omfattende som andre automatiseringsværktøjer, men gyldigheden og effektiviteten af ​​Excel VBA kan ikke undermineres. Hvis du arbejder i Excel og andre Microsoft Office-værktøjer som Word og Access, kan du ikke gå galt med VBA og dets muligheder.

MS Excel er et kraftfuldt værktøj, der tilbyder et væld af muligheder til sine brugere. Fra lagring af data til oprettelse af automatiserede dashboards kan du gøre det hele i Excel og dets regneark.

Hvis du vil bruge VBA til at automatisere dit sorteringsansvar i Excel, så prøv disse effektive makroer, der er nemme at anvende.

Download et Dummy-datasæt

Til at begynde med kan du downloade et dummy-datasæt for at arbejde med dine Excel-makrofærdigheder.

Vær sikker på, når du først har fået styr på disse makroer og bedre forstår, hvordan tingene fungerer, kan du ændre koden, så den passer til dine egne regneark til arbejde eller skole.

Du kan downloade det datasæt, der bruges i denne artikel, hvis du vil følge med.

Hent: Excel datasæt

instagram viewer

1. Sortering af én kolonne ved hjælp af Excel-makroer

Brug denne enkle kode til at sortere en datakolonne i et Excel-regneark. Hvis du downloadede dummy-datasættet, kan du prøve at sortere kolonne E (solgte enheder).

Åbn en ny Excel-fil, og gem den med en Excel Macro-aktiveret projektmappe (.xlsm) projektmappetype. Denne fil gemmer makroen for at sortere dine data fra en anden fil.

Relaterede: Bedste onlinekurser til at mestre avanceret Excel

Du vil styre dine fil(er) fra makrofilen, som vil interagere med dine projektmapper separat.

Indtast følgende kode:

Sub sortwithheaders()
Arbejdsbøger ("Financial Sample.xlsx"). Ark (1). Aktiver
Range("A1:P701").sort Key1:=Range("e1"), Order1:=xlAscending, Header:=xlYes
Slut Sub

Hvor:

  • Nøgle 1: Definer den eller de kolonner, du vil sortere
  • Ordre 1: Bestillingsmetode (stigende/faldende)
  • Header: Hvis dit indhold har overskrifter, forbliver denne mulighed som xlJa. Alternativt kan du vælge xlNr.

Området vil bestå af startcellen og slutcellens adresse, så alt er fanget til sorteringsformål. Resultatet er, at hele dit datasæt vil blive sorteret ud fra dataene i kolonne E.

2. Sortering af dynamiske data i en enkelt kolonne

Der kan være tilfælde, hvor dit udgangspunkt er defineret, men dit slutpunkt er dynamisk. I et sådant tilfælde kan du gøre din kode dynamisk, så den opfanger slutningen af ​​området automatisk.

For at imødekomme ændringen i data skal du bruge koden nedenfor:

Sub sortwithheaders()
Arbejdsbøger ("Financial Sample.xlsx"). Ark (1). Aktiver
Range("A1", Range("A1").End (xlDown)).sort Key1:=Range("e2"), Order1:=xlAscending, Header:=xlYes
Slut Sub

Hvor:

  • Slut (xlNed): Denne funktion vil automatisk vælge den sidst udfyldte celle

Bemærk: Hvis formlen støder på en tom celle i en kolonne, vil den betragte den foregående celle som slutningen af ​​området.

Relaterede: Sådan opretter du brugerdefinerede tastaturgenveje i Microsoft Excel

3. Sortering af flere kolonner sammen

Der kan være situationer, hvor du vil sortere data i flere kolonner på én gang. For at gøre det kan du bruge følgende kode til at opnå dit formål:

Sub SortMultipleColumns()
Med regneark ("Ark1")
Med .Cells (1, "A"). CurrentRegion
.Cells.sort Key1:=.Range("B1"), Order1:=xlAscending, _
Key2:=.Range("E1"), Order2:=xlAscending, _
Orientering:=xlTopToBottom, Header:=xlJa
Slut med
Slut med
Slut Sub

4. Sortering af kolonner på tværs af flere ark

Når du har at gøre med flere ark, vil du måske gøre dine data klar til at blive lagt ind i et dashboard. Et af de vigtigste aspekter ved dataforberedelse er at sortere dem og få dataene arrangeret i et bestemt format til at præsentere for dine interessenter eller kunder.

En mulighed er at gå igennem hvert ark manuelt, sortere de påkrævede kolonner og derefter fortsætte til næste trin. Alternativt, hvorfor ikke lade VBA gøre det for dig?

Hensigten med koden nedenfor er at bladre gennem hvert tilgængeligt ark i projektmappen og sortere de tilgængelige data baseret på de angivne kolonner.

Relaterede: Microsoft Excel-opslagsfunktioner til at søge regneark mere effektivt

Sådan kan du sortere kolonner på tværs af flere ark:

Sub SortWS()
Dim ws As Arbejdsark
'Aktiver det tilsigtede arbejdsark
Arbejdsbøger ("Financial Sample.xlsx"). Aktiver
'Gennemgå hvert enkelt regneark automatisk ved hjælp af for loop
For hver var i ActiveWorkbook. Ark
'aktiver hvert enkelt arbejdsark
ws. Aktiver
'Definer intervallet, og sorter derefter kolonnen baseret på dine krav. I dette tilfælde er der kun en kolonne, der sorteres.
Range("A1", Range("p1").End (xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
'Kommando bruges til at skifte til næste regneark, når det forrige regneark er blevet sorteret
Næste ws
Slut Sub

Alle oplysninger, der starter med enkelte citater, er VBA-kommentarer. Disse udføres ikke under udførelsesfasen. Hver VBA-kommentar, du tilføjer, er dog en meningsfuld tilføjelse til koden, da du kan definere essensen, funktionaliteten og andre relevante dele i kodesektionerne.

5. Kopiering af sorterede data fra et ark til et andet

Forestil dig en situation, hvor du vil sortere dataene og kopiere hele datasættet (eller dele deraf) til et nyligt tilføjet ark. I sådanne tilfælde kan du bruge nedenstående kode til at udføre den aktuelle opgave:

Sub SortWS()
Dim ws As Arbejdsark
'Aktiver det tilsigtede arbejdsark
Arbejdsbøger ("Financial Sample.xlsx"). Aktiver
'Gennemgå hvert enkelt regneark automatisk ved hjælp af for loop
For hver var i ActiveWorkbook. Ark
'aktiver hvert enkelt arbejdsark
ws. Aktiver
'Definer intervallet, og sorter derefter kolonnen baseret på dine krav.
'I dette tilfælde er der kun en kolonne, der sorteres.
Range("A1", Range("p1").End (xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
'Kommando bruges til at skifte til næste regneark, når det forrige regneark er blevet sorteret
Næste ws
'Opret et nyt regneark i projektmappen for at gemme de nye data
Aktiv arbejdsbog. Ark. Tilføje. Navn = "Resultater"
'Kopiér indsæt de sorterede data i det nyligt tilføjede ark
Sheets("Sheet1").Range("A1:p701").Copy Destination:=Sheets("Resultater").Range("a1")
Slut Sub

Ovenstående kode vil sortere værdierne i kolonne E, tilføje et nyt ark Resultater ind i den eksisterende projektmappe, og indsæt de sorterede resultater i cellen A1.

Oprettelse af sorteringsmakroer i Excel

Excel VBA er et smart sprog, der kan spare dig for en masse tid og kræfter. Ved at bruge VBA-makroer kan du oprette omfattende dashboards, nemt sortere data med et par klik og udføre forskellige funktioner med lethed.

Heldigvis ender Excels funktionalitet ikke med makroer. Se nogle tips og tricks til at blive en mere effektiv Excel-bruger.

De 9 bedste websteder og blogs til at lære Excel-tip og -tricks

Uanset om du er en mester i Excel eller lige er startet, er her de ni bedste websteder og blogs, du kan bruge til at lære nogle tips og tricks.

Læs Næste

DelTweetE-mail
Relaterede emner
  • Programmering
  • Microsoft Excel
  • Makroer
Om forfatteren
Gaurav Siyal (8 artikler udgivet)

Gaurav Siyal har to års skriveerfaring og har skrevet for en række digitale marketingfirmaer og softwarelivscyklusdokumenter.

Mere fra Gaurav Siyal

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere