Excel-makron kanske inte är lika omfattande som andra automatiseringsverktyg, men giltigheten och effektiviteten hos Excel VBA kan inte undergrävas. Om du arbetar i Excel och andra Microsoft Office-verktyg som Word och Access kan du inte gå fel med VBA och dess möjligheter.

MS Excel är ett kraftfullt verktyg som erbjuder massor av alternativ till sina användare. Från att lagra data till att skapa automatiserade instrumentpaneler, du kan göra allt i Excel och dess kalkylblad.

Om du vill använda VBA för att automatisera ditt sorteringsansvar i Excel, pröva dessa effektiva makron som är lätta att applicera.

Ladda ner en Dummy Dataset

Till att börja med kan du ladda ner en dummy-datauppsättning för att arbeta med dina Excel-makrofärdigheter.

Var säker, när du väl fått kläm på dessa makron och bättre förstår hur saker fungerar kan du ändra koden så att den passar dina egna kalkylblad för jobbet eller skolan.

Du kan ladda ner datasetet som används i den här artikeln om du vill följa med.

Ladda ner: Excel Dataset

instagram viewer

1. Sortera en kolumn med Excel-makron

Använd denna enkla kod för att sortera en datakolumn i ett Excel-kalkylblad. Om du laddade ner dummydatasetet kan du prova att sortera kolumn E (Sålda enheter).

Öppna en ny Excel-fil och spara den med en Excel-makroaktiverad arbetsbok (.xlsm) arbetsbok typ. Den här filen lagrar makrot för att sortera dina data från en annan fil.

Relaterad: De bästa onlinekurserna för att behärska avancerad Excel

Du kommer att kontrollera dina filer från makrofilen, som kommer att interagera med dina arbetsböcker separat.

Ange följande kod:

Sub sortwithheaders()
Arbetsböcker ("Financial Sample.xlsx"). Blad (1). Aktivera
Range("A1:P701").sort Key1:=Range("e1"), Order1:=xlAscending, Header:=xlYes
Avsluta Sub

Var:

  • Nyckel 1: Definiera kolumnen/kolumnerna som du vill sortera
  • Order1: Beställningsmetod (stigande/fallande)
  • Rubrik: Om ditt innehåll har rubriker förblir det här alternativet som xlJa. Alternativt, välj xlNr.

Området kommer att bestå av startcellen och slutcellens adress så att allt fångas för sorteringsändamål. Resultatet är att hela din datamängd kommer att sorteras baserat på data i kolumn E.

2. Sortera dynamiska data i en enda kolumn

Det kan finnas tillfällen där din startpunkt är definierad, men din slutpunkt är dynamisk. I ett sådant fall kan du göra din kod dynamisk så att den automatiskt tar upp slutet av intervallet.

Använd koden nedan för att hantera förändringen i data:

Sub sortwithheaders()
Arbetsböcker ("Financial Sample.xlsx"). Blad (1). Aktivera
Range("A1", Range("A1").End (xlDown)).sort Key1:=Range("e2"), Order1:=xlAscending, Header:=xlYes
Avsluta Sub

Var:

  • Slut (xlDown): Denna funktion kommer att automatiskt välja den senast fyllda cellen automatiskt

Notera: Om formeln stöter på en tom cell i en kolumn, kommer den att betrakta den föregående cellen som slutet av intervallet.

Relaterad: Hur man skapar anpassade tangentbordsgenvägar i Microsoft Excel

3. Sortera flera kolumner tillsammans

Det kan finnas situationer när du vill sortera data i flera kolumner på en gång. För att göra det kan du använda följande kod för att uppnå ditt syfte:

Sub SortMultipleColumns()
Med kalkylblad ("Sheet1")
Med .Cells (1, "A"). CurrentRegion
.Cells.sort Key1:=.Range("B1"), Order1:=xlAscending, _
Key2:=.Range("E1"), Order2:=xlScending, _
Orientering:=xlTopToBottom, Header:=xlYes
Sluta med
Sluta med
Avsluta Sub

4. Sortera kolumner över flera ark

När du har att göra med flera ark, kanske du vill göra din data redo att läggas in i en instrumentpanel. En av de viktigaste aspekterna av förberedelse av data är att sortera den och få informationen ordnad i ett visst format för att presentera för dina intressenter eller kunder.

Ett alternativ är att bläddra igenom varje ark manuellt, sortera önskade kolumner och sedan gå vidare till nästa steg. Alternativt, varför inte låta VBA göra det åt dig?

Avsikten med koden nedan är att bläddra igenom varje tillgängligt blad i arbetsboken och sortera tillgänglig data baserat på de angivna kolumnerna.

Relaterad: Uppslagsfunktioner i Microsoft Excel för att söka i kalkylblad mer effektivt

Så här kan du sortera kolumner över flera ark:

Sub SortWS()
Dim ws As Arbetsblad
'Aktivera det avsedda arbetsbladet
Arbetsböcker ("Financial Sample.xlsx"). Aktivera
'Bläddra igenom varje enskilt kalkylblad automatiskt med för loop
För varje är i ActiveWorkbook. Lakan
'aktivera varje enskilt arbetsblad
ws. Aktivera
'Definiera intervallet och sortera sedan kolumnen utifrån dina krav. I det här fallet är det bara en kolumn som sorteras.
Range("A1", Range("p1").End (xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
'Kommando används för att gå till nästa kalkylblad när det föregående kalkylbladet har sorterats
Nästa ws
Avsluta Sub

All information som börjar med enstaka citat är VBA-kommentarer. Dessa utförs inte under utförandestadiet. Men varje VBA-kommentar du lägger till är ett meningsfullt tillägg till koden, eftersom du kan definiera essensen, funktionaliteten och andra relevanta delar inom kodsektionerna.

5. Kopiera sorterad data från ett blad till ett annat

Föreställ dig en situation där du vill sortera data och kopiera hela datamängden (eller delar därav) till ett nyligen tillagt ark. I sådana fall kan du använda koden nedan för att utföra uppgiften:

Sub SortWS()
Dim ws As Arbetsblad
'Aktivera det avsedda arbetsbladet
Arbetsböcker ("Financial Sample.xlsx"). Aktivera
'Bläddra igenom varje enskilt kalkylblad automatiskt med för loop
För varje är i ActiveWorkbook. Lakan
'aktivera varje enskilt arbetsblad
ws. Aktivera
'Definiera intervallet och sortera sedan kolumnen utifrån dina krav.
'I det här fallet är det bara en kolumn som sorteras.
Range("A1", Range("p1").End (xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
'Kommando används för att gå till nästa kalkylblad när det föregående kalkylbladet har sorterats
Nästa ws
'Skapa ett nytt kalkylblad i arbetsboken för att lagra nya data
ActiveWorkbook. Lakan. Lägg till. Namn = "Resultat"
'Kopiera klistra in den sorterade datan i det nyligen tillagda arket
Sheets("Sheet1").Range("A1:p701").Copy Destination:=Sheets("Results").Range("a1")
Avsluta Sub

Ovanstående kod kommer att sortera värdena i kolumn E, lägga till ett nytt ark Resultat i den befintliga arbetsboken och klistra in de sorterade resultaten i cellen A1.

Skapa sorteringsmakron i Excel

Excel VBA är ett snyggt språk som kan spara mycket tid och ansträngning. Genom att använda VBA-makron kan du skapa omfattande instrumentpaneler, enkelt sortera data med några få klick och utföra olika funktioner med lätthet.

Som tur är slutar inte Excels funktionalitet med makron. Kolla in några tips och tricks för att bli en mer effektiv Excel-användare.

De 9 bästa webbplatserna och bloggarna för att lära dig Excel-tips och tricks

Oavsett om du är en mästare i Excel eller bara har börjat, här är de nio bästa webbplatserna och bloggarna som du kan använda för att lära dig några tips och tricks.

Läs Nästa

Dela med sigTweetE-post
Relaterade ämnen
  • Programmering
  • Microsoft excel
  • Makron
Om författaren
Gaurav Siyal (8 artiklar publicerade)

Gaurav Siyal har två års erfarenhet av att skriva, skriva för en rad digitala marknadsföringsföretag och programvarulivscykeldokument.

Mer från Gaurav Siyal

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera