Sortarea personalizată în Excel este o caracteristică foarte utilă. În acest articol, vom vorbi despre cum să actualizați automat sortarea personalizată într-un interval utilizând Excel VBA.
Când utilizați sortarea personalizată, veți descoperi că aceasta este o caracteristică uimitoare în Excel. Cu toate acestea, dacă utilizați frecvent această funcție, este posibil să găsiți și o problemă. Veți sorta într-un interval cu anumite date și informații. Când adăugați date și informații suplimentare în interval, ordinea în interval nu se va modifica automat. Imaginea de mai jos prezintă un exemplu de astfel de condiție.
Când adăugați un nou set de date în interval, acesta nu va schimba automat rangul. Dacă tot doriți să sortați acest interval mai mare cu date noi setate după aceleași criterii, trebuie să efectuați din nou procesul de sortare personalizată. Puteți vedea că acest lucru este foarte supărător, mai ales când trebuie să actualizați constant datele și informațiile din foaia de lucru. De fiecare dată când adăugați informații noi în interval, trebuie să sortați din nou. Pentru a rezolva această problemă și a finaliza sarcina rapid, puteți continua să citiți acest articol.
Înregistrați macro
Când criteriile de sortare personalizată sunt foarte complexe, vă va fi greu să scrieți direct codurile VBA. Astfel, acum puteți înregistra mai întâi o macrocomandă. Și codurile din această macrocomandă pot fi folosite în alte macrocomenzi. Procesul de înregistrare a codurilor este foarte ușor.
- Înainte de a înregistra o macrocomandă, trebuie să adăugați fila VBA în panglică. Aici faceți clic dreapta pe oricare dintre filele din panglică.
- Și apoi alegeți „Personalizați panglica” din meniu.
- Acum, în fereastra „Opțiuni Excel”, bifați opțiunea „Dezvoltator” din lista „File principale”.
- După aceea, faceți clic pe „OK” în fereastră. Prin urmare, ați adăugat fila în panglică.
- Acum veți reveni la foaia de lucru. Faceți clic pe fila „Dezvoltator” pe care ați adăugat-o.
- Apoi faceți clic pe butonul „Înregistrați macrocomandă” din bara de instrumente. Astfel, va apărea fereastra „Înregistrare macro”.
Pe de altă parte, puteți, de asemenea, să faceți clic pe butonul mic din partea de jos a foii de lucru pentru a înlocui cei 6 pași de mai sus.
- Acum, în fereastra „Înregistrare macro”, introduceți numele în prima casetă de text. Atribuiți o tastă de comandă rapidă dacă aveți nevoie. Și apoi adăugați descrierea în funcție de nevoile dvs.
- Apoi faceți clic pe „OK”. Astfel, macro-ul începe să înregistreze fiecare operație pe care o faceți.
- Selectați intervalul pe care trebuie să îl sortați în foaia de lucru.
- Faceți clic pe fila „Acasă”.
- Apoi faceți clic pe butonul „Sort & Filter” din panglică.
- În lista derulantă, alegeți opțiunea „Sortare personalizată”.
- În fereastra „Sortare”, setați criteriile în funcție de nevoile dvs. Toate acțiunile vor fi înregistrate în macro.
Când înregistrați macrocomandă, nu faceți pași suplimentari. În caz contrar, acești pași vor fi și ei înregistrați. Și acest lucru va cauza probleme în partea următoare.
- După ce terminați setarea în fereastra „Sort”, faceți clic pe „OK” pentru a salva setările.
- Acum faceți clic din nou pe fila „Dezvoltator” din panglică.
- Apoi faceți clic pe butonul „Opriți înregistrarea”. Când foaia de lucru este în starea de înregistrare a macrocomenzilor, butonul se va schimba în „Oprire înregistrare”.
De asemenea, puteți face clic pe butonul din partea de jos a foii de lucru pentru a opri înregistrarea macrocomenzii. Astfel, ați terminat înregistrarea. Toate criteriile de sortare au fost salvate în Macro 1.
Utilizați macrocomenzi Excel VBA
În această parte, vă vom arăta cum să utilizați macrocomenzi VBA pentru a actualiza sortarea personalizată în foaia de lucru. Și veți folosi și macrocomenzile înregistrate în această parte.
- Faceți clic pe fila „Dezvoltator” din panglică.
- Apoi faceți clic pe butonul „Visual Basic” din bara de instrumente. În schimb, puteți apăsa și butonul „Alt +F11” de pe tastatură pentru a înlocui cei 2 pași.
- În editorul Visual Basic, faceți dublu clic pe foaia din zona „VBAProject”. În această foaie, trebuie să actualizați sortarea personalizată. Și în fișierul dvs. real, trebuie să faceți dublu clic pe foaia corespunzătoare.
- Acum introduceți următoarele coduri în zonă.
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
- Și apoi introduceți următoarele coduri între cele două propoziții VBA de mai sus.
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
End If
Aici intervalul este estimat. Vor fi 12 luni pentru volumul vânzărilor și, împreună cu primul rând al antetului, introducem intervalul „A1:C13”. De asemenea, puteți introduce intervalul în coduri în funcție de foaia de lucru reală.
- În acest pas, deschideți modulul 1 în editor. Codurile din acest modul sunt procesul de sortare personalizată pe care l-ați făcut mai devreme. Puteți vedea că utilizarea funcției de înregistrare a macrocomenzi vă poate economisi mult timp.
- Acum copiați partea principală a acestui modul.
- Și apoi faceți dublu clic pe tarobțineți foaia în partea „VBAProject”.
- După aceea, lipiți codurile în codurile IF-END IF.
- Și apoi modificați intervalul din coduri în funcție de nevoia dvs. Macro-ul înregistrat este puțin complicat și redundant. De asemenea, îl puteți modifica în funcție de nevoile dvs. Prin urmare, codurile VBA complete vor fi astfel:
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
Adăugăm un alt WITH-END WI în coduri. Astfel, va fi mai clar decât rezultatul înregistrat. Dacă aveți alte cerințe, îl puteți modifica și în funcție de nevoia dvs. reală. Trebuie să fiți atenți când modificați codurile. În caz contrar, veți produce un rezultat greșit în foaia de lucru.
- Acum ați terminat codurile VBA în editor. Puteți reveni la foaia de lucru și puteți testa rezultatul. Când adăugați luna următoare și numerele corespunzătoare în interval, sortarea personalizată se va reîmprospăta automat.
Prin urmare, nu va trebui niciodată să actualizați manual sortarea personalizată de fiecare dată când introduceți elemente noi în tarobține gamă. Pe de altă parte, trebuie să salvați acest registru de lucru ca un fișier Excel activat pentru macro. În caz contrar, veți pierde codurile dacă salvați ca fișier obișnuit.
Vom oferi asistență victimelor corupției Excel
Știm cu toții că Excel este foarte puternic și vă poate ajuta să vă finalizați munca rapid și ușor. Dar aplicația Excel este încă departe de a fi perfectă. Uneori, Excel se va corupe din multe motive diferite. Odată ce Excel corup, nu veți putea să vă finalizați sarcinile cu această aplicație. Pentru a funcționa mai bine, va trebui să-l reparați cât mai curând posibil.
Compania noastră lucrează de mulți ani pe zona de recuperare, în special la recuperarea Excel. Prin urmare, puteți apela la personalul nostru tehnologic pentru ajutor. Cu ani de experiență, putem descoperi cu ușurință motivul care provoacă deteriorarea fișierelor dvs. Și să te ajute mai bine reparați deteriorarea fișierului Excel xlsx, am dezvoltat un instrument terță parte. Acest instrument este foarte ușor de manipulat și nu trebuie să vă faceți griji cu privire la problema confidențialității.
Introducerea autorului:
Anna Ma este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv reparați eroarea Word docx și produse software de reparații Outlook. Pentru mai multe informații vizitați www.datanumen.com









