Sådan opdateres du automatisk det sorterede interval via VBA i dit Excel-regneark

Den tilpassede sortering i Excel er en meget nyttig funktion. I denne artikel vil vi tale om, hvordan man automatisk opdaterer tilpasset sortering i et interval ved hjælp af Excel VBA.

Når du bruger den tilpassede sortering, vil du opdage, at dette er en fantastisk funktion i Excel. Men hvis du bruger denne funktion ofte, kan du også finde et problem. Du vil sortere i et område med bestemte data og oplysninger. Når du tilføjer yderligere data og information i området, ændres rækkefølgen i området ikke automatisk. Billedet nedenfor viser et eksempel på en sådan tilstand.Eksempel

Når du tilføjer et nyt datasæt i området, vil det ikke automatisk ændre rang. Hvis du stadig vil sortere dette større interval med nyt datasæt efter de samme kriterier, skal du udføre processen med brugerdefineret sortering igen. Du kan se, at dette er meget besværligt, især når du konstant skal opdatere data og information i regnearket. Hver gang du tilføjer nye oplysninger i området, skal du sortere igen. For at løse dette problem og afslutte din opgave hurtigt, kan du fortsætte med at læse denne artikel.

Optag makro

Når kriterierne for brugerdefineret sortering er meget komplekse, vil du have svært ved at skrive VBA-koder direkte. Således kan du nu først optage en makro. Og koderne i denne makro kan bruges i andre makroer. Processen med registrering af koder er meget let.

  1. Før du optager en makro, skal du tilføje VBA-fanen i båndet. Højreklik her på en af ​​en fane i båndet.
  2. Og vælg derefter "Tilpas båndet" i menuen.Tilpas båndet
  3. Nu i vinduet "Excel-indstillinger" skal du kontrollere indstillingen "Udvikler" i listen over "Hovedfaner".Udvikler
  4. Klik derefter på “OK” i vinduet. Derfor har du tilføjet fanen i båndet.
  5. Nu kommer du tilbage til regnearket. Klik på fanen "Udvikler", som du har tilføjet.
  6. Og klik derefter på knappen "Optag makro" i værktøjslinjen. Vinduet "Optag makro" vises således.Optag makro

På den anden side kan du også klikke på den lille knap i bunden af ​​regnearket for at erstatte de ovennævnte 6 trin.Optag makro

  1. Indtast navnet i det første tekstfelt i vinduet "Optag makro". Tildel en genvejstast, hvis du har brug for det. Og tilføj derefter beskrivelsen efter dit behov.Indstil makro
  2. Klik derefter på “OK”. Således begynder makroen at registrere hver operation, du foretager.
  3. Vælg det område, du skal sortere i regnearket.
  4. Klik på fanen "Hjem".
  5. Og klik derefter på knappen "Sort & Filter" i båndet.
  6. På rullelisten skal du vælge indstillingen "Brugerdefineret sortering".Tilpasset sortering
  7. I vinduet “Sorter” skal du indstille kriterierne efter dit behov. Alle handlinger registreres i makroen.Sort

Når du optager makro, skal du ikke foretage yderligere trin. Ellers registreres disse trin også. Og dette vil skabe problemer i den følgende del.

  1. Når du er færdig med indstillingen i vinduet "Sorter", skal du klikke på "OK" for at gemme indstillingerne.
  2. Klik nu på fanen "Udvikler" i båndet igen.
  3. Og klik derefter på knappen "Stop optagelse". Når regnearket er i stand til at optage makroer, skifter knappen til "Stop optagelse".Stop optagelse

Du kan også klikke på knappen i bunden af ​​regnearket for at stoppe optagelsen af ​​makroen. Således er du færdig med optagelsen. Alle sorteringskriterier er gemt i Makro 1.

Brug Excel VBA-makroer

I denne del viser vi dig, hvordan du bruger VBA-makroer til at opdatere tilpasset sortering i dit regneark. Og du vil også bruge de optagede makroer i denne del.

  1. Klik på fanen "Udvikler" i båndet.
  2. Klik derefter på knappen “Visual Basic” i værktøjslinjen. I stedet kan du også trykke på knappen "Alt + F11" på tastaturet for at erstatte de 2 trin.Visual Basic
  3. Dobbeltklik på arket i Visual Basic-editoren i området “VBAProject”. I dette ark skal du opdatere tilpasset sortering. Og i din faktiske fil skal du dobbeltklikke på det tilsvarende ark.
  4. Indtast nu følgende koder i området.
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
  1. Og indtast derefter følgende koder mellem de to ovenstående VBA-sætninger.
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then

End If

Her estimeres rækkevidden. Der vil være 12 måneder på salgsmængden, og sammen med første række i overskriften indtaster vi området “A1: C13”. Du kan også indtaste området i koderne i henhold til dit faktiske regneark.

  1. I dette trin skal du åbne modul 1 i editoren. Koderne i dette modul er processen med brugerdefineret sortering, som du tidligere har lavet. Du kan se, at brug af funktionen til optagelse af makroer kan spare dig for meget tid.
  2. Kopier nu hoveddelen i dette modul.Kopi
  3. Og dobbeltklik derefter på målarket i "VBAProject"-delen.
  4. Derefter skal du indsætte koder i IF-END IF-koder.
  5. Og rediger derefter rækkevidden i koderne efter dit behov. Den optagede makro er lidt kompliceret og overflødig. Du kan også ændre det efter dit behov. Derfor vil de komplette VBA-koder være sådan:
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 tilføjer endnu en MED-SLUT MED i koderne. Således vil det være klarere end rekordresultatet. Hvis du har andre krav, kan du også ændre det efter dit faktiske behov. Du skal være forsigtig, når du ændrer koderne. Ellers giver du et forkert resultat i regnearket.

  1. Nu er du færdig med VBA-koder i editoren. Du kan komme tilbage til regnearket og teste resultatet. Når du tilføjer den næste måned og de tilsvarende tal i området, opdateres den tilpassede sortering automatisk.Test

Derfor behøver du aldrig manuelt at opdatere den brugerdefinerede sortering, hver gang du indtaster nye elementer i målområdet. På den anden side skal du gemme denne projektmappe som en makroaktiveret Excel-fil. Ellers mister du koderne, hvis du gemmer som en almindelig fil.

Vi yder hjælp til Excel-korruptionsofre

Vi ved alle, at Excel er meget kraftfuldt, og det kan hjælpe dig med at afslutte dit arbejde hurtigt og nemt. Men Excel-applikationen er stadig langt fra perfekt. Nogle gange ødelægges Excel på grund af mange forskellige årsager. Når Excel er korrupt, kan du ikke afslutte dine opgaver ved hjælp af denne applikation. For at arbejde bedre skal du reparere det så hurtigt som muligt.

Vores firma har arbejdet på gendannelsesområdet i mange år, især Excel-gendannelsen. Derfor kan du henvende dig til vores tekniske medarbejdere for at få hjælp. Med mange års erfaring kan vi nemt finde ud af årsagen, der forårsager skade på dine filer. Og for at hjælpe dig bedre reparere Excel xlsx filskader, vi har udviklet et tredjepartsværktøj. Dette værktøj er meget let at manipulere, og du behøver ikke bekymre dig om privatlivsproblemet.

Forfatter Introduktion:

Anna Ma er datagendannelsesekspert i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder reparere Word docx-fejl og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com

Kommentarer er lukket.