Den anpassade sorteringen i Excel är en mycket användbar funktion. I den här artikeln kommer vi att prata om hur man automatiskt uppdaterar anpassad sortering i ett intervall med hjälp av Excel VBA.
När du använder den anpassade sorteringen kommer du att upptäcka att det här är en fantastisk funktion i Excel. Men om du använder den här funktionen ofta kan du också hitta ett problem. Du kommer att sortera i ett intervall med viss data och information. När du lägger till ytterligare data och information i intervallet ändras inte ordningen i intervallet automatiskt. Bilden nedan visar ett exempel på ett sådant tillstånd.
När du lägger till en ny datamängd i intervallet ändras den inte automatiskt. Om du fortfarande vill sortera det här större intervallet med ny datauppsättning efter samma kriterier måste du utföra processen med anpassad sortering igen. Du kan se att detta är väldigt besvärligt, särskilt när du behöver ständigt uppdatera data och information i kalkylbladet. Varje gång du lägger till ny information i intervallet måste du sortera igen. För att lösa detta problem och avsluta din uppgift snabbt kan du fortsätta läsa den här artikeln.
Spela in makro
När kriterierna för anpassad sortering är mycket komplexa kommer det att vara svårt att skriva VBA-koder direkt. Så nu kan du först spela in ett makro. Och koderna i detta makro kan användas i andra makron. Processen med att spela in koder är mycket enkel.
- Innan du spelar in ett makro måste du lägga till fliken VBA i menyfliksområdet. Högerklicka här på en flik i menyfliksområdet.
- Och välj sedan "Anpassa menyfliksområdet" i menyn.
- I fönstret "Excel-alternativ", markera alternativet "Utvecklare" i listan med "Huvudflikar".
- Klicka sedan på “OK” i fönstret. Därför har du lagt till fliken i menyfliksområdet.
- Nu kommer du tillbaka till kalkylbladet. Klicka på fliken "Utvecklare" som du har lagt till.
- Klicka sedan på knappen “Spela in makro” i verktygsfältet. Således kommer "Record Macro" -fönstret att dyka upp.
Å andra sidan kan du också klicka på den lilla knappen längst ner på kalkylbladet för att ersätta de ovanstående 6 stegen.
- Nu i fönstret “Spela in makro”, mata in namnet i den första textrutan. Tilldela en genväg om du behöver. Och lägg sedan till beskrivningen efter ditt behov.
- Klicka sedan på “OK”. Således börjar makrot att spela in varje operation som du gör.
- Välj det intervall som du behöver sortera i kalkylbladet.
- Klicka på fliken "Hem".
- Klicka sedan på knappen "Sortera och filtrera" i menyfliksområdet.
- Välj alternativet "Anpassad sortering" i listrutan.
- I fönstret “Sortera” ställer du in kriterierna efter ditt behov. Alla åtgärder registreras i makrot.
Gör inte ytterligare steg när du spelar in makro. I annat fall spelas även dessa steg in. Och detta kommer att orsaka problem i följande del.
- När du är klar med inställningen i "Sortera" -fönstret, klicka på "OK" för att spara inställningarna.
- Klicka nu på fliken "Utvecklare" i menyfliksområdet igen.
- Och klicka sedan på knappen "Stoppa inspelning". När kalkylbladet är i skick för inspelning av makron ändras knappen till ”Stoppa inspelning”.
Du kan också klicka på knappen längst ner på kalkylbladet för att stoppa inspelningen av makrot. Således har du avslutat inspelningen. Alla sorteringskriterier har sparats i Makro 1.
Använd Excel VBA-makron
I den här delen visar vi dig hur du använder VBA-makron för att uppdatera anpassad sortering i ditt kalkylblad. Och du kommer också att använda de inspelade makron i den här delen.
- Klicka på fliken ”Utvecklare” i menyfliksområdet.
- Klicka sedan på knappen “Visual Basic” i verktygsfältet. Istället kan du också trycka på knappen "Alt + F11" på tangentbordet för att ersätta de två stegen.
- Dubbelklicka på arket i Visual Basic-redigeraren i området “VBAProject”. I det här arket måste du uppdatera anpassad sortering. Och i din faktiska fil måste du dubbelklicka på motsvarande ark.
- Ange nu följande koder i området.
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
- Och mata sedan in följande koder mellan de två ovanstående VBA-meningarna.
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
End If
Här uppskattas intervallet. Det kommer att vara 12 månader på försäljningsvolymen, och tillsammans med den första raden i rubriken anger vi intervallet “A1: C13”. Du kan också mata in intervallet i koderna enligt ditt faktiska kalkylblad.
- I det här steget öppnar du modul 1 i redigeraren. Koderna i den här modulen är processen för anpassad sortering som du tidigare har gjort. Du kan se att det kan spara mycket tid att använda funktionen för inspelning av makron.
- Kopiera nu huvuddelen i den här modulen.
- Dubbelklicka sedan på tarfå ark i "VBAProject" -delen.
- Därefter klistrar du in koder i IF-END IF-koder.
- Och ändra sedan intervallet i koder efter ditt behov. Det inspelade makrot är lite komplicerat och överflödigt. Du kan också ändra det efter ditt behov. Därför kommer de fullständiga VBA-koder att vara så här:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("B2:B13"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("C2:C13"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
End With
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:C13")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End Sub
Vi lägger till ytterligare en MED-SLUT MED i koderna. Således blir det tydligare än rekordresultatet. Om du har andra krav kan du också ändra det efter ditt faktiska behov. Du måste vara försiktig när du ändrar koderna. Annars ger du fel resultat i kalkylbladet.
- Nu har du avslutat VBA-koder i redigeraren. Du kan komma tillbaka till kalkylbladet och testa resultatet. När du lägger till nästa månad och motsvarande nummer i intervallet uppdateras den anpassade sorteringen automatiskt.
Därför behöver du aldrig manuellt uppdatera den anpassade sorteringen varje gång du matar in nya element i tarfå räckvidd. Å andra sidan måste du spara den här arbetsboken som en makroaktiverad Excel-fil. Annars förlorar du koderna om du sparar som en vanlig fil.
Vi kommer att ge hjälp till Excel-korruptionsoffer
Vi vet alla att Excel är mycket kraftfullt och det kan hjälpa dig att avsluta ditt arbete snabbt och enkelt. Men Excel-applikationen är fortfarande långt ifrån perfekt. Ibland skadas Excel på grund av många olika skäl. När Excel har korrumperats kommer du inte att kunna slutföra dina uppgifter med den här applikationen. För att fungera bättre måste du reparera det så snart som möjligt.
Vårt företag har arbetat med återställningsområdet i många år, särskilt Excel-återhämtning. Därför kan du vända dig till våra tekniska personal för hjälp. Med många års erfarenhet kan vi enkelt ta reda på orsaken som orsakar skador på dina filer. Och för att hjälpa dig bättre reparera Excel xlsx filskador, vi har utvecklat ett verktyg från tredje part. Det här verktyget är väldigt lätt att manipulera och du behöver inte oroa dig för integritetsproblemet.
Författarintroduktion:
Anna Ma är en dataåterställningsexpert i DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive reparera Word docx-fel och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com









