Razvrščanje po meri v Excelu je zelo uporabna funkcija. V tem članku bomo govorili o tem, kako samodejno posodobiti razvrščanje po meri v obsegu z uporabo Excelovega VBA.
Ko uporabite razvrščanje po meri, boste ugotovili, da je to izjemna lastnost v Excelu. Če pa to funkcijo uporabljate pogosto, boste morda našli tudi težavo. Razvrstili boste v obsegu z določenimi podatki in informacijami. Ko v obseg dodate dodatne podatke in informacije, se vrstni red obsega ne bo samodejno spremenil. Spodnja slika prikazuje primer takega stanja.
Ko v obseg dodate nov nabor podatkov, se rang ne bo samodejno spremenil. Če še vedno želite razvrstiti ta večji obseg z novimi nabori podatkov po enakih merilih, morate znova izvesti postopek razvrščanja po meri. Vidite lahko, da je to zelo težavno, še posebej, če morate nenehno posodabljati podatke in informacije na delovnem listu. Vsakič, ko v obseg dodate nove podatke, morate znova razvrstiti. Če želite rešiti to težavo in hitro dokončati svojo nalogo, lahko še naprej berete ta članek.
Snemaj makro
Ko so merila za razvrščanje po meri zelo zapletena, boste težko neposredno napisali kode VBA. Tako lahko zdaj najprej posnamete makro. Kode v tem makru lahko uporabimo v drugih makrih. Postopek snemanja kod je zelo enostaven.
- Preden posnamete makro, morate na zavihek dodati zavihek VBA. Tu z desno miškino tipko kliknite kateri koli zavihek na traku.
- Nato v meniju izberite »Prilagodi trak«.
- Zdaj v oknu »Excelove možnosti« na seznamu »Glavni zavihki« označite možnost »Razvijalec«.
- Po tem v oknu kliknite »V redu«. Zato ste dodali zavihek na traku.
- Zdaj se boste vrnili na delovni list. Kliknite zavihek »Razvijalec«, ki ste ga dodali.
- In nato v orodni vrstici kliknite gumb »Record Macro«. Tako se bo odprlo okno "Record Macro".
Po drugi strani pa lahko tudi kliknete majhen gumb na dnu delovnega lista, da zamenjate zgornjih 6 korakov.
- Zdaj v okno »Record Macro« vnesite ime v prvo besedilno polje. Po potrebi dodelite bližnjico. In nato dodajte opis glede na vaše potrebe.
- Nato kliknite »V redu«. Tako makro začne beležiti vsako operacijo, ki jo izvedete.
- Na delovnem listu izberite obseg, ki ga morate razvrstiti.
- Kliknite zavihek »Domov«.
- In nato na traku kliknite gumb »Razvrsti in filtriraj«.
- Na spustnem seznamu izberite možnost »Razvrsti po meri«.
- V oknu »Razvrsti« nastavite merila glede na vaše potrebe. Vsa dejanja bodo zapisana v makro.
Ko snemate makro, ne izvajajte dodatnih korakov. V nasprotnem primeru se bodo zabeležili tudi ti koraki. In to bo povzročilo težave v naslednjem delu.
- Ko končate nastavitev v oknu »Razvrsti«, kliknite »V redu«, da shranite nastavitve.
- Zdaj na traku znova kliknite jeziček »Razvijalec«.
- In nato kliknite gumb “Stop Recording”. Ko je delovni list v stanju snemanja makrov, se gumb spremeni v »Stop Recording«.
Če želite ustaviti snemanje makra, lahko kliknete tudi gumb na dnu delovnega lista. Tako ste končali snemanje. Vsi kriteriji za razvrščanje so shranjeni v Makro 1.
Uporabite makre Excel VBA
V tem delu vam bomo pokazali, kako uporabljate makre VBA za posodobitev razvrščanja po meri na vašem delovnem listu. V tem delu boste uporabili tudi posnete makre.
- Na zavihku kliknite jeziček »Razvijalec«.
- In nato v orodni vrstici kliknite gumb »Visual Basic«. Namesto tega lahko na tipkovnici pritisnete tudi gumb “Alt + F11”, da zamenjate dva koraka.
- V urejevalniku Visual Basic dvokliknite list v območju »VBAProject«. Na tem listu morate posodobiti razvrščanje po meri. In v svoji dejanski datoteki morate dvakrat klikniti ustrezen list.
- Zdaj v območje vnesite naslednje kode.
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
- In nato med zgornja dva stavka VBA vnesite naslednje kode.
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
End If
Tu je ocenjen obseg. Obseg prodaje bo na voljo 12 mesecev in skupaj s prvo vrstico glave vnesemo obseg »A1: C13«. Obseg lahko vnesete tudi v kode glede na vaš dejanski delovni list.
- V tem koraku odprite modul 1 v urejevalniku. Kode v tem modulu so postopek razvrščanja po meri, ki ste ga že naredili. Vidite lahko, da lahko s funkcijo snemanja makrov prihranite veliko časa.
- Zdaj kopirajte glavni del tega modula.
- Nato dvokliknite ciljni list v razdelku »VBAProject«.
- Nato prilepite kode v IF-END IF kode.
- In nato spremenite obseg v kodah glede na vaše potrebe. Posneti makro je nekoliko zapleten in odveč. Lahko ga tudi prilagodite glede na vaše potrebe. Zato bodo celotne kode VBA takšne:
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
V kode dodamo še AND-END WITH. Tako bo jasnejši od rekordnega rezultata. Če imate druge zahteve, jih lahko tudi spremenite glede na vaše dejanske potrebe. Pri spreminjanju kod morate biti previdni. V nasprotnem primeru boste na delovnem listu ustvarili napačen rezultat.
- Zdaj ste končali kode VBA v urejevalniku. Lahko se vrnete na delovni list in preizkusite rezultat. Ko v obseg dodate naslednji mesec in ustrezne številke, se razvrščanje po meri samodejno osveži.
Zato vam nikoli ne bo treba ročno posodabljati razvrščanja po meri vsakič, ko v ciljni obseg vnesete nove elemente. Po drugi strani pa morate ta delovni zvezek shraniti kot Excelovo datoteko z omogočenimi makroji. V nasprotnem primeru boste kode izgubili, če jo shranite kot navadno datoteko.
Pomagali bomo žrtvam korupcije v Excelu
Vsi vemo, da je Excel zelo zmogljiv in vam lahko pomaga hitro in enostavno končati delo. Toda aplikacija Excel še zdaleč ni popolna. Včasih bo Excel pokvarjen zaradi različnih razlogov. Ko Excel pokvari, s to aplikacijo ne boste mogli dokončati svojih nalog. Za boljše delovanje ga boste morali čim prej popraviti.
Naše podjetje se že vrsto let ukvarja s področjem obnovitve, zlasti z obnovitvijo Excel. Zato se lahko za pomoč obrnete na naše tehnično osebje. Z dolgoletnimi izkušnjami lahko zlahka ugotovimo razlog, ki povzroča škodo na vaših datotekah. In da vam pomagam bolje popravilo škode v datoteki Excel xlsx, smo razvili orodje tretjih oseb. S tem orodjem je zelo enostavno upravljati in vam ni treba skrbeti zaradi težave z zasebnostjo.
Uvod avtorja:
Anna Ma je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z popravilo napake Word docx in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com









