VBA az Excel táblázat rendezéséhez (4 módszer)

  • Ossza Meg Ezt
Hugh West

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.
  • xlAscending = Növekvő sorrendbe rendezés.
  • xlDescending = Leereszkedő sorrendbe rendezés.
Fejléc Opcionális XlYesNoGuess Megadja, hogy az első sor tartalmaz-e fejléceket vagy sem.
  • xlNo = Ha az oszlopnak nincs fejléce; Alapértelmezett érték.
  • xlYes = Ha az oszlopok fejlécekkel rendelkeznek.
  • xlGuess = Az Excel határozza meg a fejléceket.

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.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.