Excel VBA rendezés

Az adatok rendezése a Microsoft Excel alkalmazásban különféle módon történhet. Az Excel Data fül szalag alatt van egy rendezési ikon, ahonnan rendezheti adatait, és megkaphatja az eredményeket. Akkor miért kell írni a komplex VBA kódot?

Minden alkalommal szem előtt kell tartania, a VBA kódok vannak a dolgok automatizálásához. Tegyük fel, hogy van olyan adata, amely időről időre frissül. Lehet, hogy minden nap, hetente, havonta stb., És adataira meghatározott, rendezett módon van szüksége. Ilyen esetekben a VBA SORT funkció használható, és hasznos eszközként fog megjelenni az Ön számára.

A VBA rendelkezik a Range.Sort módszerrel az adatok rendezéséhez. Ahol A tartomány a cellák tartományát határozza meg, amelyeket növekvő vagy csökkenő sorrendben szeretnénk rendezni.

A Range.Sort szintaxisa a következő:

Hol,

  • Gomb - Oszlop / tartomány, amelyet rendezni kell. Volt. Ha A1: A10 cellákat szeretne rendezni, meg kell említeni a Range (A1: A10) cellákat.
  • Sorrend - Ez a paraméter lehetővé teszi az adatok növekvő vagy csökkenő sorrendbe rendezését.
  • Fejléc - Ez a paraméter határozza meg, hogy az oszlopnak / tartományának fejlécei vannak-e vagy sem.

Ez a három paraméter elegendő eljárásunkhoz. Vannak azonban más paraméterek is, például a MatchCase, a SortMethod stb., Amelyeket mindig meg lehet vizsgálni és megnézheti, hogyan működnek.

Hogyan kell használni az Excel VBA rendezési funkciót?

Megtanuljuk, hogy a VBA Sort hogyan használható oszlopok rendezésére fejlécek nélkül, oszlop fejlécekkel és Több oszlop példákkal az Excelben.

Itt letöltheti ezt a VBA Sort Excel sablont - VBA Sort Excel Template

VBA rendezési funkció - 1. példa

Egy oszlop rendezése fejléc nélkül

Tegyük fel, hogy van egy oszlopa nevekkel, amint az alább látható, és csupán annyit kell tennie, hogy ezeket az adatokat ábécé szerint növekvő vagy csökkenő sorrendbe rendezze.

Kövesse az alábbi lépéseket a VBA Rendezés funkció használatához.

1. lépés: Adjon meg egy új sup-eljárást egy modul alatt, és hozzon létre egy makrót.

Kód:

 Sub SortEx1 () Vége a Sub 

2. lépés: Használja a Range.Sort funkciót az oszlop növekvő sorrendbe rendezéséhez.

Kód:

 Sub SortEx1 () Range ("A1", Range ("A1"). End (xlDown)). Sort Sort Sub 

Itt megad egy tartományt az A1-es cellától az utoljára használt / nem üres celláig (lásd az .End (xlDown) függvényt) a Range.Sort függvénynek.

3. lépés: Most írja be az argumentumértékeket.

Kód:

 Sub SortEx1 () Range ("A1", Range ("A1"). End (xlDown)). Sort Key1: = Range ("A1"), Order1: = xlAcecending, Header: = xlNo End Sub 

Amint azt korábban már tárgyaltuk, a kulcs, a rend és a fejléc fontos és szükséges érvek, amelyeket be kell nyújtani. Adtunk tartományt („A1”) az oszlop kezdő tartományának, amelyet el kell rendezni. A megrendelés növekvő és fejléc formájában kerül megadásra (ami azt jelenti, hogy az oszlopnak nincs fejléce).

Ez a kód ellenőrzi az összes nem üres cellát az A1-től kezdve, majd növekvő sorrendbe rendezi őket az A1-es cellától kezdve.

4. lépés: Futtassa ezt a kódot az F5 vagy a Futtatás gomb manuális megnyomásával, és nézze meg a kimenetet.

Ha összehasonlíthatja ezt a példa elején található képpel, láthatja, hogy a neveket növekvő sorrendbe rendezik.

VBA rendezési funkció - 2. példa

Egy oszlop rendezése a fejléc segítségével

Tegyük fel, hogy van egy oszlop a fejlécgel, az alább látható módon. És ezt az oszlopot növekvő vagy csökkenő sorrendben akarta rendezni.

Kövesse az alábbi lépéseket a VBA Rendezés funkció használatához.

1. lépés: Határozzon meg egy új alrendszert egy új modell alapján a makró tárolására.

Kód:

 Sub SortEx2 () Vége a Sub 

2. lépés: A Táblázatokkal („2. példa”) adja meg, hogy melyik adatlap legyen.

Kód:

 Sub SortEx2 () lapok ("2. példa") Vége a Sub 

3. lépés: Használja a Range („A1”) pontot. A fenti kódsor elé rendezze, hogy rendezési funkcióvá váljon.

Kód:

 Sub SortEx2 () lapok ("2. példa"). Tartomány ("A1"). Rendezés vége Sub 

4. lépés: Adja meg az 1. kulcsot mint tartományt („A1”) az adatok rendezéséhez az A1 cellából, az 1. sorrendből az adatok növekvő vagy csökkenő sorrendbe rendezése, valamint a Fejléc mint igen, annak érdekében, hogy tudatja a rendszernek, hogy az első sor fejléc van adat.

Kód:

 Sub SortEx2 () lapok ("2. példa"). Range ("A1"). Sort Key1: = Range ("A1"), Order1: = xlAcecending, Header: = xlYes End Sub 

5. lépés: Futtassa ezt a kódot az F5 vagy a Futtatás gomb manuális megnyomásával és a kimenet megtekintésével.

Itt az adott excel munkafüzet 2. példájának adatait növekvő sorrendbe rendezzük, mivel fejléce van. Ami azt jelenti, hogy ezen adatok rendezésekor az első sort (amely Emp Emp nevet tartalmaz) figyelmen kívül hagyják, mivel ezen adatok fejlécének tekintik az A oszlopban.

Ugyanazokat az adatokat ábécé sorrendben is rendezheti. Csak annyit kell tennie, hogy megváltoztatja a sorrendet növekvőről csökkenőre.

6. lépés: Változtassa meg az 1. sorrendet csökkenő értékre az adatok csökkenő sorrendbe rendezése érdekében.

Kód:

 Sub SortEx2 () lapok ("2. példa"). Range ("A1"). Sort Key1: = Range ("A1"), Order1: = xlDescending, Header: = xlYes End Sub 

7. lépés: Futtassa a kódot, és nézze meg az alább megadott kimenetet.

Láthatja, hogy az adatok csökkenő sorrendben vannak rendezve.

VBA rendezési funkció - 3. példa

Több oszlop rendezése fejlécekkel

Mostanáig fedeztük fel, hogyan lehet egy oszlop adatait növekvő vagy csökkenő sorrendben rendezni (fejléc nélkül és fejléccel). Mi van, ha van olyan adata, amelyet több oszlop alapján kell rendeznie? Lehetséges kódot írni ehhez is?

A válasz: "Igen, biztosan meg lehet tenni!"

Tegyük fel, hogy van az alábbiak szerint megadott adatok:

Ezeket az adatokat először az Emp Név, majd a Hely szerinti szerint kívánta rendezni. Kövesse az alábbi lépéseket, hogy megnézze, hogyan kódolhatjuk a VBA-ban.

1. lépés: Adjon meg egy új alapelvet a makró hozzáadásához egy új modulhoz.

Kód:

 Sub SortEx3 () Vége a Sub 

2. lépés: Használjon With With… End With utasítással több rendezési feltételt egy hurokba.

Kód:

 Sub SortEx3 () az ActiveSheet.Sort befejezésével 

3. lépés: Most használja a SortFields.Add szoftvert a többes rendezési feltételek hozzáadására ugyanazon a munkalapon.

Kód:

 Sub SortEx3 () az ActiveSheet.Sort .SortFields.Add Key: = Range ("A1"), Order: = xlAscending .SortFields.Add Key: = Range ("B1"), Order: = xlAscending End Sub 

4. lépés: Döntse el a rendezendő laptartományt és a fejlécet A következő lépésben.

Kód:

 Sub SortEx3 () az ActiveSheet.Sort .SortFields.Add Key: = Range ("A1"), Order: = xlAscending .SortFields.Add Key: = Range ("B1"), Order: = xlAscending .SetRange Range ("A1 : C13 ") .Header = xlYes End Sub 

5. lépés: Használja az .App alkalmazza ezeket a dolgokat a nyilatkozat alatt, és zárja be az End Írása hurkot .

Kód:

 Sub SortEx3 () az ActiveSheet.Sort .SortFields.Add Key: = Range ("A1"), Order: = xlAscending .SortFields.Add Key: = Range ("B1"), Order: = xlAscending .SetRange Range ("A1 : C13 ") .Header = xlYes .Apply végén vége a Sub 

6. lépés: Futtassa ezt a kódot az F5 vagy a Futtatás gomb manuális megnyomásával, és nézze meg a kimenetet.

Ebben a kódban az ActiveSheets.Sort segíti a rendszert annak a lapnak a meghatározásában, amely alapján az adatokat rendezni kell. A SortFields.Add lehetővé teszi két válogatási feltétel hozzáadását a sorrendjükhöz (mindkét esetben növekvő módon). A SetRange lehetővé teszi a rendszer számára az A1 és C13 közötti tartomány beállítását. Ezt a tartományt felfelé is mozgathatja. Az utasítások alkalmazása lehetővé teszi a rendszer számára a With loop-ban végrehajtott összes módosítás alkalmazását.

Végül megkapja az adatokat, amelyeket az Emp Name First, majd a Location alapján rendeztek.

Dolgok, amikre emlékezni kell

  • A VBA rendezés alatt elnevezett tartományokat hozhat létre a cellahivatkozások helyett, és ugyanazokat használhatja. Volt. Ha az A1: A10 cella elnevezett tartományát „EmpRange” néven hozta létre, akkor a Range.Sort, mint a Range („EmpRange”) alatt használhatja.
  • Az adatokat növekvő és csökkenő sorrendbe rendezheti, ugyanúgy, mint az Excelben.
  • Ha nem biztos benne, hogy adatai tartalmaz-e fejlécet, akkor a Fejléc szakasz alatt az xlGuess használatával hagyhatja a rendszernek kitalálni, hogy az első adatsor fejléc-e vagy sem.

Ajánlott cikkek

Ez egy útmutató az Excel VBA Sort alkalmazáshoz. Itt tárgyaltuk a VBA Sort és az Excel VBA Sort Function használatának módját, valamint a gyakorlati példákat és a letölthető Excel sablont. Megnézheti más javasolt cikkeinket -

  1. Gyors útmutató az Excel szám szerinti rendezéshez
  2. A VBA Match Function használata
  3. Hogyan válogathatunk oszlopot Excelben?
  4. VBA Míg a hurok | MS Excel

Kategória: