Lehet, hogy az Excel makrók nem olyan átfogóak, mint a többi automatizálási eszköz, de az Excel VBA érvényessége és hatékonysága nem ásható alá. Ha Excelben és más Microsoft Office-eszközökben, például a Wordben és az Accessben dolgozik, nem járhat rosszul a VBA-val és annak lehetőségeivel.
Az MS Excel egy hatékony eszköz, amely rengeteg lehetőséget kínál felhasználóinak. Az adatok tárolásától az automatizált irányítópultok létrehozásáig mindent megtehet az Excelben és annak táblázataiban.
Ha a VBA segítségével szeretné automatizálni rendezési feladatait az Excelben, próbálja ki ezeket a hatékony, könnyen alkalmazható makrókat.
Töltse le a Dummy Dataset-et
Kezdetnek letölthet egy ál-adatkészletet az Excel makró készségeinek fejlesztéséhez.
Biztos lehet benne, hogy ha már megismeri ezeket a makrókat, és jobban megérti a dolgok működését, átállíthatja a kódot, hogy illeszkedjen a saját munkahelyi vagy iskolai táblázataihoz.
Ha követni szeretné, letöltheti a cikkben használt adatkészletet.
Letöltés: Excel adatkészlet
1. Egy oszlop rendezése Excel makrók használatával
Ezzel az egyszerű kóddal rendezheti az adatoszlopokat egy Excel-táblázaton belül. Ha letöltötte az áladatkészletet, megpróbálhatja rendezni az E oszlopot (Eladott egységek).
Nyisson meg egy új Excel-fájlt, és mentse el egy Excel makró-kompatibilis munkafüzet (.xlsm) munkafüzet típusa. Ez a fájl tárolja a makrót, hogy az adatokat egy másik fájlból rendezze.
Összefüggő: A legjobb online kurzusok a haladó Excel elsajátításához
A fájl(oka)t a makrófájlból fogja vezérelni, amelyek külön-külön lépnek kapcsolatba a munkafüzetekkel.
Írja be a következő kódot:
Alrendezés fejlécekkel()
Munkafüzetek("Pénzügyi minta.xlsx").Sheets (1).Aktiválás
Tartomány("A1:P701").sort Key1:=Tartomány("e1"), Sorrend1:=xlNövekvő, Fejléc:=xlIgen
Vége Sub
Ahol:
- Key1: Határozza meg a rendezni kívánt oszlopo(ka)t
- Rendelés1: Rendelési mód (növekvő/csökkenő)
- Fejléc: Ha a tartalomnak vannak fejlécei, ez a lehetőség így marad xlIgen. Alternatív megoldásként válassza ki xlNo.
A tartomány a kezdő cellából és a záró cella címéből áll majd, így a rendszer mindent rögzít a rendezés céljából. Ennek eredményeként a teljes adatkészlet az E oszlop adatai alapján lesz rendezve.
2. Dinamikus adatok rendezése egyetlen oszlopban
Előfordulhatnak olyan esetek, amikor a kiindulási pont meghatározott, de a végpont dinamikus. Ilyen esetben a kódot dinamikussá teheti, hogy az automatikusan felveszi a tartomány végét.
Az adatok változásának elfogadásához használja az alábbi kódot:
Alrendezés fejlécekkel()
Munkafüzetek("Pénzügyi minta.xlsx").Sheets (1).Aktiválás
Tartomány("A1", Tartomány("A1").End (xlDown)).sort Key1:=Tartomány("e2"), Sorrend1:=xlNövekvő, Fejléc:=xlIgen
Vége Sub
Ahol:
- Vége (xlDown): Ez a funkció automatikusan kiválasztja az utoljára kitöltött cellát
jegyzet: Ha a képlet üres cellát talál egy oszlopban, akkor az előző cellát tekinti a tartomány végének.
Összefüggő: Egyéni billentyűparancsok létrehozása a Microsoft Excel programban
3. Több oszlop rendezése együtt
Előfordulhatnak olyan helyzetek, amikor egyszerre több oszlopba szeretné rendezni az adatokat. Ehhez a következő kódot használhatja a cél elérése érdekében:
Sub SortMultipleColumns()
Munkalapokkal ("1. lap")
A .Cells (1, "A").CurrentRegion
.Cells.sort Key1:=.Range("B1"), Order1:=xlNövekvő, _
Kulcs2:=.Tartomány("E1"), Sorrend2:=xlNövekvő, _
Orientation:=xlTopToBottom, Header:=xlYes
Vége ezzel
Vége ezzel
Vége Sub
4. Oszlopok rendezése több lapon
Ha több munkalappal van dolgunk, érdemes lehet adatait egy irányítópultra helyezni. Az adatok előkészítésének egyik legfontosabb szempontja a válogatás, és az adatok meghatározott formátumba rendezése, hogy az érintettek vagy ügyfelei számára bemutathassák.
Az egyik lehetőség, hogy az egyes lapokon manuálisan lépked, rendezi a szükséges oszlopokat, majd folytassa a következő lépéssel. Alternatív megoldásként miért nem hagyja, hogy a VBA megcsinálja helyetted?
Az alábbi kód célja, hogy végigfusson a munkafüzet minden egyes elérhető lapján, és a megadott oszlopok alapján rendezze az elérhető adatokat.
Összefüggő: A Microsoft Excel keresési funkciói a táblázatokban való hatékonyabb kereséshez
A következőképpen rendezheti az oszlopokat több munkalapon:
Alrendezés WS()
Dim ws munkalapként
„Aktiválja a kívánt munkalapot
Workbooks("Pénzügyi minta.xlsx"). Aktiválja
„Automatikusan lapozzon az egyes munkalapokon a for ciklus használatával
Mindegyik ws-hez az ActiveWorkbookban. Ágynemű
'aktiválja az egyes munkalapokat
ws. Aktiválja
„Határozza meg a tartományt, majd rendezze az oszlopokat igényei szerint. Ebben az esetben csak egy oszlop van rendezés alatt.
Tartomány("A1", Tartomány("p1").End (xlDown)).sort Key1:=Tartomány("E1"), Sorrend1:=xlCsökkenő, Fejléc:=xlIgen
„A parancs a következő munkalapra való átlépésre szolgál, miután az előző munkalapot rendezte
Következő ws
Vége Sub
Az összes idézőjelekkel kezdődő információ VBA megjegyzés. Ezek nem kerülnek végrehajtásra a végrehajtási szakaszban. Azonban minden hozzáadott VBA megjegyzés jelentős mértékben kiegészíti a kódot, mivel a kódszakaszok lényegét, funkcionalitását és egyéb releváns részeit meghatározhatja.
5. Rendezett adatok másolása egyik lapról a másikra
Képzeljen el egy olyan helyzetet, amikor rendezni szeretné az adatokat, és a teljes adatkészletet (vagy annak egy részét) át szeretné másolni egy újonnan hozzáadott lapra. Ilyen esetekben az alábbi kódot használhatja az adott feladat végrehajtásához:
Alrendezés WS()
Dim ws munkalapként
„Aktiválja a kívánt munkalapot
Workbooks("Pénzügyi minta.xlsx"). Aktiválja
„Automatikusan lapozzon az egyes munkalapokon a for ciklus használatával
Mindegyik ws-hez az ActiveWorkbookban. Ágynemű
'aktiválja az egyes munkalapokat
ws. Aktiválja
„Határozza meg a tartományt, majd rendezze az oszlopokat igényei szerint.
„Ebben az esetben csak egy oszlop van rendezés alatt.
Tartomány("A1", Tartomány("p1").End (xlDown)).sort Key1:=Tartomány("E1"), Sorrend1:=xlCsökkenő, Fejléc:=xlIgen
„A parancs a következő munkalapra való átlépésre szolgál, miután az előző munkalapot rendezte
Következő ws
Hozzon létre egy új munkalapot a munkafüzetben az új adatok tárolásához
ActiveWorkbook. Ágynemű. Hozzáadás. Név = "Eredmények"
'Másolja be a rendezett adatokat az újonnan hozzáadott lapra
Sheets("Sheet1").Tartomány("A1:p701").Cél másolása:=Sheets("Results").Tartomány("a1")
Vége Sub
A fenti kód rendezi az értékeket az E oszlopban, új lapot ad hozzá Eredmények a meglévő munkafüzetbe, és illessze be a rendezett eredményeket a cellába A1.
Rendező makrók létrehozása Excelben
Az Excel VBA egy remek nyelv, amellyel sok időt és erőfeszítést takaríthat meg. A VBA makrók használatával kiterjedt irányítópultokat hozhat létre, egyszerűen, néhány kattintással rendezheti az adatokat, és könnyedén végrehajthat különféle funkciókat.
Szerencsére az Excel funkciói nem érnek véget a makrókban. Nézzen meg néhány tippet és trükköt, amelyek segítségével hatékonyabb Excel-felhasználóvá válhat.
Akár mester az Excelben, akár csak most kezdi, itt található a kilenc legjobb webhely és blog, amelyek segítségével tippeket és trükköket tanulhat meg.
Olvassa el a következőt
- Programozás
- Microsoft Excel
- Makrók
Gaurav Siyal két éves írási tapasztalattal rendelkezik, számos digitális marketingcégnek ír és szoftver-életciklus-dokumentumokat írt.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!
Kattintson ide az előfizetéshez