Kazalo
Izvajanje Makro VBA je najučinkovitejša, najhitrejša in najvarnejša metoda za izvajanje vseh operacij v Excelu. V tem članku vam bomo pokazali, kako razvrstite tabelo v Excelu z VBA .
Prenos delovnega zvezka
Brezplačni delovni zvezek Excel lahko prenesete s tega mesta.
Razvrstitev tabele z VBA.xlsm
Stvari, ki jih je treba poznati pred izvajanjem VBA za razvrščanje tabele v Excelu
Obstaja nekaj parametrov, ki jih je treba pogosto uporabljati pri delu z Razvrsti metoda VBA . Zato bomo tukaj obravnavali nekatere parametre, da se boste z njimi seznanili med pisanjem kode.
Parameter | Obvezno/izbirno | Vrsta podatkov | Opis |
---|---|---|---|
Ključ | Izbirno | Varianta | Določa območje ali stolpec, katerega vrednosti je treba razvrstiti. |
Naročilo | Izbirno | XlSortOrder | Določa vrstni red razvrščanja.
|
Naslov | Izbirno | XlYesNoGuess | Določa, ali prva vrstica vsebuje glave ali ne.
|
4 metode pri izvajanju VBA za razvrščanje tabele v Excelu
V tem razdelku boste izvedeli, kako razvrščanje Excelovih tabel z upoštevanjem vrednost, barve, ikone in . več stolpcev s spletno stranjo . VBA koda.
1. Vgradnja VBA za razvrščanje tabele po vrednosti v Excelu
V naslednjem primeru bomo razvrstite to tabelo po vrednostih prisotne v Mark stolpec v padajočem vrstnem redu.
Koraki:
- Pritisnite Alt + F11 na tipkovnici ali odprite zavihek Razvijalec -> Visual Basic da odprete Urejevalnik Visual Basic .
- V pojavnem oknu kode v menijski vrstici kliknite Vstavljanje -> Modul .
- Kopirajte naslednjo kodo in jo prilepite v okno s kodo.
Sub SortTableValue() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTBL") Set iColumn = Range("SortTBL[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn, SortOn:=xlSortOnValues, Order:=xlDescending .Header = xlYes .Apply End With End Sub
Vaša koda je zdaj pripravljena za zagon.
Tukaj,
- SortTBL → Navedli ste ime tabele.
- SortTBL[Marks] -> Določeno je ime stolpca tabele za razvrščanje.
- Key1:=iColumn → Določite območje stolpcev, da bo koda vedela, kateri stolpec v tabeli je treba razvrstiti.
- Order1:=xlDescending → Navedeno naročilo kot xlDescending za razvrščanje stolpca v padajočem vrstnem redu. Če želite razvrstiti stolpec v naraščajočem vrstnem redu, napišite xlVzpenjajoče se namesto tega.
- Header:= xlYes → Ker ima stolpec v tej tabeli glavo, smo jo določili z xlYes možnost.
- Pritisnite F5 na tipkovnici ali v menijski vrstici izberite Run -> Run Sub/UserForm Lahko tudi kliknete na majhna ikona za predvajanje v vrstici podmenija, da zaženete makro.
Videli boste, da je stolpec v vaši tabeli zdaj razvrščeni v padajočem vrstnem redu .
Preberite več: Kako razvrstiti podatke po vrednosti v Excelu (5 preprostih metod)
2. Vstavite makro VBA za razvrščanje tabele za več stolpcev
Prav tako lahko razvrščanje tabele za več stolpcev v Excelu z VBA makro.
V zgornji tabeli bomo razvrstili stolpce Ime in . Oddelek v naraščajočem vrstnem redu.
Koraki:
- Na enak način kot prej odprite Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
- V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
Sub SortTable() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("TableValue") Set iColumn1 = Range("TableValue[Name]") Set iColumn2 = Range("TableValue[Department]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn1, Order:=xlAscending .SortFields.Add Key:=iColumn2, Order:=xlAscending.Header = xlYes .Apply End With End Sub
Vaša koda je zdaj pripravljena za zagon.
Tukaj,
- TableValue → Navedli ste ime tabele.
- TableValue[Ime] -> Navedeno je ime prvega stolpca tabele za razvrščanje.
- TableValue[Oddelek] -> Navedeno je ime drugega stolpca tabele za razvrščanje.
- Key1:=iColumn1 → Določite območje stolpcev, da bo koda vedela, da je treba razvrstiti prvi stolpec v tabeli.
- Key1:=iColumn2 → Določite območje stolpcev, da bo koda vedela, da je treba razvrstiti drugi stolpec v tabeli.
- Order1:=xlAscending → Navedeno naročilo kot xlVzpenjajoče se za razvrščanje stolpca v padajočem vrstnem redu. Če želite razvrstiti stolpec v padajočem vrstnem redu, napišite xlDescending namesto tega.
- Header:= xlYes → Ker imajo stolpci te tabele glave, smo jih določili z xlYes možnost.
- Spustite to kodo in dobili boste oba razvrščeni stolpci tabele v naraščajočem vrstnem redu.
Preberite več: Kako samodejno razvrstiti več stolpcev v Excelu (3 načini)
Podobna branja
- Kako razvrstiti edinstven seznam v Excelu (10 uporabnih metod)
- Razvrstitev polja z Excelovim programom VBA (naraščajoči in padajoči vrstni red)
- Kako razvrščati in filtrirati podatke v Excelu (popolna navodila)
- Excelovo samodejno razvrščanje ob spremembi podatkov (9 primerov)
- Naključno razvrščanje v Excelu (formule + VBA)
3. Izvajanje makra za razvrščanje tabele po barvi celic v Excelu
Prav tako lahko razvrstite tabelo glede na barvo celice ki ga vsebuje.
Z zgornjo tabelo kot primerom vam bomo pokazali, kako jo razvrstiti glede na barve, ki jih vsebuje ta tabela.
Koraki:
- Kot je bilo že prikazano, je odprta Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
- V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
Sub SortTableColor() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTable") Set iColumn = Range("SortTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(248, 203, 173) .SortFields.Add(Key:=iColumn,Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(255, 217, 102) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(198, 224, 180) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(180, 198, 231) .Header = xlYes .Apply End With End Sub
Vaša koda je zdaj pripravljena za zagon.
Tu je RGB kode, ki smo jih zagotovili, jo lahko najdete ali katero koli drugo RGB kodo, ki jo želite, tako da sledite spodnjemu gifu.
- Samo kliknite na obarvana celica .
- V Domov kliknite na zavihek puščica poleg Barva zapolnitve nato izberite Več barv . Videli boste RGB kode v Po meri zavihek pojavil Barve pojavno okno.
- Spustite to kodo in vaša tabela bo razvrščeni glede na barve .
Preberite več: Kako razvrstiti po barvi v Excelu (4 merila)
4. Uporaba VBA za razvrščanje Excelove tabele po ikoni
Predpostavimo, da ima tabela nabora podatkov ikone za boljšo berljivost. tabelo na podlagi ikon v Excelu z VBA makro.
Oglejte si zgornji nabor podatkov. V tabeli so ikone ob vrednostih številk v polju Marks stolpcev, tako da lahko razumemo, kateri učenec ima dobre, slabe ali povprečne rezultate.
Če ne veste, kako lahko vstavite ikono v celico, lahko to preprosto storite z ukazom Pogojno oblikovanje v Excelu.
- Izberite celotno območje ali stolpec.
- Pojdi na Pogojno oblikovanje -> nabori ikon . Nato med možnostmi izberite želene nize ikon.
Koraki do razvrščanje tabele na podlagi ikon so navedeni v nadaljevanju.
Koraki:
- Odpri Urejevalnik Visual Basic iz Razvijalec zavihek in Vstavite a Modul v oknu kode.
- V oknu s kodo kopirajte naslednjo kodo in jo prilepite.
Sub SortTableIcon() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("IconTable") Set iColumn = Range("IconTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(1) .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(2) .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(3) .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(4) .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(5) .Header = xlYes .Apply End With End Sub
Vaša koda je zdaj pripravljena za zagon.
Tukaj,
- xl5Arrows -> Izbrali smo komplet 5 puščic iz možnosti v Pogojno oblikovanje .
- Predmet (1) -> Določeno prvi vrsta ikone puščice.
- Postavka (2) -> Določeno drugi vrsta ikone puščice.
- Postavka (3) -> Določeno tretji vrsta ikone puščice.
- Postavka (4) -> Določeno četrti vrsta ikone puščice.
- Postavka (5) -> Določeno peti vrsta ikone puščice.
- Spustite ta koda in tabela bo razvrščeni glede na ikone .
Preberite več: Kako samodejno razvrstiti tabelo v Excelu (5 metod)
Zaključek
V tem članku je bilo prikazano, kako razvrstite tabelo v programu Excel VBA Upam, da vam je ta članek zelo koristil. Če imate kakršna koli vprašanja v zvezi s to temo, vas prosim, da jih postavite.