Tartalomjegyzék
A honlap megvalósítása VBA makró a leghatékonyabb, leggyorsabb és legbiztonságosabb módszer bármilyen művelet futtatására az Excelben. Ebben a cikkben megmutatjuk, hogyan lehet a táblázat rendezése Excelben a VBA .
Munkafüzet letöltése
Az ingyenes gyakorló Excel munkafüzetet innen töltheti le.
Rendezés táblázat VBA.xlsm
A VBA végrehajtása előtt tudnivalók az Excel táblázat rendezéséhez az Excelben
Vannak olyan paraméterek, amelyeket gyakran kell használnia, miközben a Rendezés módszer VBA Itt tehát néhány paramétert fogunk megvitatni, hogy a kód megírása közben megismerkedhessünk velük.
Paraméter | Kötelező/ fakultatív | Adattípus | Leírás |
---|---|---|---|
Kulcs | Opcionális | Változat | Megadja azt a tartományt vagy oszlopot, amelynek értékeit rendezni kell. |
Megrendelés | Opcionális | XlSortOrder | Megadja a rendezés sorrendjét.
|
Fejléc | Opcionális | XlYesNoGuess | Megadja, hogy az első sor tartalmaz-e fejléceket vagy sem.
|
4 módszer a VBA végrehajtásában az Excel táblázat rendezéséhez az Excelben
Ez a szakasz megmutatja, hogyan Excel táblázatok rendezése figyelembe véve érték, színek, ikonok és több oszlop a címen VBA kód.
1. Beágyazott VBA a táblázat érték szerinti rendezéséhez az Excelben
A következő példát tekintve rendezze ezt a táblázatot az értékek szerint jelen van a Mark oszlop csökkenő sorrendben.
Lépések:
- Sajtó Alt + F11 a billentyűzeten, vagy lépjen a Fejlesztő -> Visual Basic kinyitni Visual Basic szerkesztő .
- A felugró kódablakban a menüsorban kattintson a Beszúrás -> Modul .
- Másolja ki az alábbi kódot, és illessze be a kódablakba.
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 End With
A kódja most már futtatásra kész.
Tessék,
- SortTBL → Megadta a táblázat nevét.
- SortTBL[Marks] -> Megadta a rendezni kívánt táblázat oszlopnevét.
- Key1:=iColumn → Megadta az oszloptartományt, hogy a kód tudja, melyik oszlopot kell rendezni a táblázatban.
- Order1:=xlDescending → A sorrendet a következőképpen határozta meg xlDescending ha az oszlopot csökkenő sorrendbe akarja rendezni. Ha az oszlopot növekvő sorrendbe akarja rendezni, akkor írja azt, hogy xlAscending helyette.
- Fejléc:= xlYes → Mivel ebben a táblázatban az oszlopnak van fejléce, ezért azt a xlYes opció.
- Sajtó F5 a billentyűzeten, vagy válassza a menüsorból a Futtatás -> Sub/UserForm futtatása . Egyszerűen csak kattints a kis Play ikon az almenüsorban a makró futtatásához.
Látni fogja, hogy a táblázat oszlopának neve mostantól csökkenő sorrendbe rendezve .
További információ: Hogyan rendezhetjük az adatokat érték szerint az Excelben (5 egyszerű módszer)
2. VBA makró beillesztése a táblázat több oszlopra történő rendezéséhez
Ön is táblázat rendezése több oszlopra Excelben a VBA makró.
A fenti táblázatból az oszlopokat a következő módon rendezzük el Név és Részleg növekvő sorrendben.
Lépések:
- Ugyanúgy, mint korábban, nyissa meg Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
- A kódablakban másolja ki és illessze be a következő kódot.
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 End Sub
A kódja most már futtatásra kész.
Tessék,
- TableValue → Megadta a táblázat nevét.
- TableValue[Name] -> A táblázat első oszlopnevének megadása a rendezéshez.
- TableValue[Osztály] -> A táblázat második oszlopnevének megadása a rendezéshez.
- Key1:=iColumn1 → Megadta az oszloptartományt, hogy a kód tudja, hogy a táblázat első oszlopát kell rendezni.
- Key1:=iColumn2 → Megadta az oszloptartományt, hogy a kód tudja, hogy a táblázat második oszlopát rendezni kell.
- Order1:=xlAscending → A sorrendet a következőképpen határozta meg xlAscending ha az oszlopot csökkenő sorrendbe akarja rendezni. Ha az oszlopot csökkenő sorrendbe akarja rendezni, akkor írja azt, hogy xlDescending helyette.
- Fejléc:= xlYes → Mivel ennek a táblázatnak az oszlopai fejlécekkel rendelkeznek, ezért azt a xlYes opció.
- Fuss ezt a kódot, és megkapja mindkét a táblázat oszlopai rendezve növekvő sorrendben.
Bővebben: Több oszlop automatikus rendezése az Excelben (3 mód)
Hasonló olvasmányok
- Egyedi lista rendezése az Excelben (10 hasznos módszer)
- Rendezés tömb Excel VBA-val (növekvő és csökkenő sorrendben)
- Hogyan rendezhet és szűrhet adatokat az Excelben (teljes útmutató)
- Excel automatikus rendezés az adatok változásakor (9 példa)
- Véletlenszerű rendezés az Excelben (képletek + VBA)
3. Makró végrehajtása az Excel táblázat cellaszínek szerinti rendezéséhez az Excelben
Ön is a táblázat rendezése a cellák színe szerint amit tartalmaz.
A fenti táblázat példáján keresztül megmutatjuk, hogyan lehet a táblázatot a benne szereplő színek alapján rendezni.
Lépések:
- Amint korábban bemutattuk, a nyitott Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
- A kódablakban másolja ki és illessze be a következő kódot.
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
A kódja most már futtatásra kész.
Itt a RGB kódok, hogy mi biztosított, akkor megtalálja, vagy bármely más RGB kódot, amit az alábbiakban megadott gif követésével.
- Csak kattintson a színes cella .
- A Home lapon kattintson a nyíl a Fill Color (Kitöltési szín) mellett majd válassza a További színek . Látni fogod a RGB kódok a Custom lapon a megjelent Színek felugró ablak.
- Fuss ezt a kódot, és a táblázatod a színek alapján rendezve .
Bővebben: Hogyan rendezhetjük szín szerint az Excelben (4 kritérium)
4. VBA alkalmazása az Excel táblázat ikon szerinti rendezéséhez
Tegyük fel, hogy az adatkészlet táblázata a jobb olvashatóság érdekében ikonokkal van ellátva. Rendezheti a táblázat az ikonok alapján Excelben a VBA makró.
Nézze meg a fenti adathalmazt. Itt a táblázatban a számértékek mellett ikonok vannak a Márkok oszlopok, hogy megértsük, melyik diáknak van jó, rossz vagy átlagos eredménye.
Ha nem tudja, hogyan illeszthet be egy ikont egy cellába, akkor ezt egyszerűen megteheti a Feltételes formázás funkció az Excelben.
- Válassza ki a címet. a teljes tartomány vagy oszlop.
- Menjen a Feltételes formázás -> ikonkészletek Ezután válassza ki a kívánt ikonkészleteket a lehetőségek közül.
Lépések a táblázat rendezése ikonok alapján az alábbiakban adjuk meg.
Lépések:
- Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
- A kódablakban másolja ki és illessze be a következő kódot.
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 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
A kódja most már futtatásra kész.
Tessék,
- xl5Nyilak -> Kiválasztottuk a 5 darabos nyílkészlet az opcióból a Feltételes formázás .
- Tétel (1) -> Meghatározott a első a nyíl ikon típusa.
- Tétel (2) -> Meghatározott a második a nyíl ikon típusa.
- Tétel (3) -> Meghatározott a harmadik a nyíl ikon típusa.
- Tétel (4) -> Meghatározott a negyedik a nyíl ikon típusa.
- Tétel (5) -> Meghatározott a ötödik a nyíl ikon típusa.
- Fuss ezt a kódot, és a táblázat az ikonok alapján rendezve .
További információ: Hogyan lehet automatikusan rendezni a táblázatot az Excelben (5 módszer)
Következtetés
Ez a cikk megmutatta, hogyan kell a táblázat rendezése Excelben VBA . remélem, hogy ez a cikk nagyon hasznos volt az Ön számára. Nyugodtan kérdezzen, ha bármilyen kérdése van a témával kapcsolatban.