Excel VBA Range Object
Mi az a VBA Range?
A VBA Range Object egy vagy több cellát jelöl az Excel munkalapon. Ez az Excel VBA legfontosabb objektuma. Az Excel VBA tartományobjektum használatával hivatkozhat a
- Egyetlen sejt
- Egy sor vagy egy cellaoszlop
- Sejtválogatás
- 3D-s tartomány
Amint azt előző oktatóanyagunkban tárgyaltuk, a VBA-t a makró rögzítésére és futtatására használják. De hogyan azonosítja a VBA, hogy a lap mely adatait kell végrehajtani. Itt hasznosak a VBA Range Objects.
Bevezetés az objektumokra való hivatkozásba VBA-ban
Hivatkozás az Excel VBA-tartományobjektumára és az objektumminősítőre.
- Objektumminősítő: Ez az objektumra való hivatkozásra szolgál. Meghatározza azt a munkafüzetet vagy munkalapot, amelyre hivatkozik.
Ezen cellaértékek manipulálásához Ingatlanok és a Mód használt.
- Ingatlan: A tulajdonság információkat tárol az objektumról.
- Módszer: A metódus annak az objektumnak a művelete, amelyet végrehajt. A tartományobjektum olyan műveleteket hajthat végre, mint a kijelölés, másolás, törlés, rendezés stb.
A VBA az objektumhierarchia mintáját követve hivatkozik az objektumra az Excelben. A következő szerkezetet kell követnie. Ne feledje, hogy a .dot itt összeköti az objektumot a különböző szinteken.
Alkalmazás.Munkafüzetek.Munkalapok.Tartomány
Az alapértelmezett objektumoknak két fő típusa van.
Hogyan lehet hivatkozni az Excel VBA Range Object-re a Range tulajdonság használatával
A Range tulajdonság két különböző típusú objektumban alkalmazható.
- Munkalap objektumok
- Tartományobjektumok
A tartománytulajdonság szintaxisa
- A „Tartomány” kulcsszó.
- A kulcsszót követő zárójelek
- Releváns cellatartomány
- Idézet (" ")
Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").Range("A1")
Amikor a Range objektumra hivatkozik, amint az fent látható, akkor erre úgy hivatkozunk teljesen minősített referencia. Pontosan megmondtad az Excelnek, hogy melyik tartományt szeretnéd, milyen lapon és milyen munkalapon.
Példa: ÜzenetBox Munkalap(“lap1”).Tartomány(“A1”).Érték
A Range tulajdonság használatával számos feladatot hajthat végre, mint pl.
- Lásd az Egy cella tartomány használatával tulajdonságot
- A Worksheet.Range tulajdonság használatával hivatkozzon egy cellára
- Hivatkozzon egy teljes sorra vagy oszlopra
- Tekintse meg az egyesített cellákat a Worksheet.Range Property és még sok más használatával
Mint ilyen, túl hosszú lesz ahhoz, hogy lefedje a tartománytulajdon összes forgatókönyvét. A fent említett forgatókönyvekre csak egy példát mutatunk be. Lásd az Egy cella tartomány használatával tulajdonságot.
A Worksheet.Range tulajdonság használatával hivatkozzon egy cellára
Ha egyetlen cellára szeretne hivatkozni, akkor egyetlen cellára kell hivatkoznia.
A szintaxis egyszerű „Tartomány („Cella”).
Itt a „.Select” paranccsal jelöljük ki a lap egyetlen celláját.
Step 1) Ebben a lépésben nyissa meg az Excelt.
Step 2) Ebben a lépésben a
- Kattints a
gombot.
- Kinyit egy ablakot.
- Ide írja be a program nevét, majd kattintson az „OK” gombra.
- Ez elviszi a fő Excel fájlt, a felső menüben kattintson a 'Stop' Record gombra a makró rögzítésének leállításához.
Step 3) A következő lépésben
- Kattintson a Makró gombra
a felső menüből. Megnyílik az alábbi ablak.
- Ebben az ablakban kattintson a "szerkesztés" gombra.
Step 4) A fenti lépés megnyitja a VBA kódszerkesztőt a „Single Cell Range” fájlnévhez. Írja be az alábbi kódot az „A1” tartomány kiválasztásához az Excelből.
Step 5) Most mentse a fájlt és futtassa a programot az alábbiak szerint.
Step 6) Látni fogja, hogy a program végrehajtása után az „A1” cella ki van választva.
Hasonlóképpen kiválaszthat egy adott névvel rendelkező cellát. Például, ha a „Guru99- VBA Tutorial” nevű cellában szeretne keresni. A parancsot az alábbiak szerint kell futtatnia. Kijelöli az adott nevű cellát.
Tartomány („Guru99- VBA oktatóanyag”). Válassza a lehetőséget
Más tartományobjektum alkalmazásához itt a kódminta.
A cella kiválasztásának tartománya az Excelben | Tartomány deklarált |
---|---|
Egysoroshoz | Tartomány („1:1”) |
Egy oszlophoz | Tartomány („A: A”) |
Szomszédos sejtekhez | Tartomány („A1:C5”) |
Nem összefüggő sejtekhez | Tartomány („A1:C5, F1:F5”) |
Két tartomány metszéspontjához | Tartomány („A1:C5 F1:F5”)
(A metszésponti cella esetében ne feledje, hogy nincs vessző operátor) |
A cella egyesítéséhez | Tartomány („A1:C5”)
(Cella egyesítéséhez használja a „merge” parancsot) |
Cell Property
A tartományhoz hasonlóan in VBA akkor is „Cell Property”. Az egyetlen különbség az, hogy van egy „elem” tulajdonsága, amellyel hivatkozhat a táblázat celláira. A cellatulajdonság hasznos a programozási ciklusban.
Például,
Cells.item (Sor, Oszlop). Az alábbi mindkét sor az A1 cellára vonatkozik.
- Cells.item(1,1) VAGY
- Cells.item(1"A")
Range Offset tulajdonság
A Range offset tulajdonság az eredeti helyétől távolabb eső sorokat/oszlopokat választ ki. A megadott tartomány alapján a cellák kijelölésre kerül. Lásd alább a példát.
Például,
Range("A1").offset(Rowoffset:=1, Columnoffset:=1).Select
Ennek eredménye a B2 cella. Az eltolás tulajdonság az A1 cellát 1 oszlopra és 1 sorral távolabb helyezi át. A soreltolás / oszlopeltolás értékét igény szerint módosíthatja. Használhat negatív értéket (-1) a cellák visszamozgatásához.
Töltse le a fenti kódot tartalmazó Excelt
Összegzésként
- A VBA Range Object egy vagy több cellát jelöl az Excel munkalapon
- Egyetlen sejt
- Egy sor vagy egy cellaoszlop
- Sejtválogatás
- 3D-s tartomány
- A cellaértékek módosításához Ingatlanok és a Mód használnak
- A tulajdonság információkat tárol az objektumról
- A metódus az objektum által végrehajtott művelet, például kijelölés, összevonás, rendezés stb.
- A VBA az objektumhierarchia mintáját követve hivatkozik az objektumra az Excelben a .dot operátor használatával
- A Range tulajdonság két különböző típusú objektumban alkalmazható
- Munkalap objektumok
- Tartományobjektumok