A tárgy és a program munka sejtek VBA segítségével

Object Excel.Range, a program a munka a sejtekkel és a tartományok (készletek) sejtek VBA létrehozását jelenti Excel.Range objektum tulajdonságainak, módszerek és események Excel.Range tárgy







Talán a leggyakrabban használt tárgy a hierarchiában az Excel objektum modell - egy objektum tartomány. Ez a hely lehet egyetlen sejt, több cella (beleértve a nem-szomszédos sejtek vagy készlet, nem-szomszédos sejtek), vagy egy lap. Ha a Word segítségével be adatokat, mint a tárgy Range, és a tárgy kiválasztása, az Excel minden jön le, hogy a tárgy Range:

  • ha kell adatokat bevinni egy cellába, vagy formázza, meg kell, hogy a Range objektum, ami a sejt;
  • Ha akarsz valamit, hogy a kiválasztott sejtek, akkor kell, hogy a Range objektum, ami a kiosztás
  • Ha csak kell valami köze sejtek egy csoportja, az első fellépés a tiéd - ismét kap a Range objektum, ami a sejtcsoport.
  • A legegyszerűbb és legkézenfekvőbb módja -, hogy kihasználják a tartomány tulajdonság. Ez a szolgáltatás a tárgyak alkalmazása, munkalap, és a tárgy tartomány (ha úgy dönt, hogy hozzon létre egy sor új alapul a már létező). Például, hogy egy hivatkozás a Range objektum, ami az A1 cellát, akkor:

Dim narancs, mint Tartomány

Állítsa Narancs = munkalapok ( "Munka1"). Tartomány ( "A1")

És a cellatartományt A1 D10 - az alábbiak szerint:

Dim narancs, mint Tartomány

Állítsa Narancs = munkalapok ( "Munka1") Tartomány ( "A1: D10").

Használatával az objektum tulajdonságait Range legyen nagyon óvatos. Az a tény, hogy az Excel létrehoz egy objektumot tartomány alapján a virtuális lemez saját számozás. Ezért a következő kódot:

Set narancs1 = munkalapok ( "Munkalap1"). Tartomány ( "C1")

Set oRange2 = oRange1.Range ( "B1")

20 nem írja elő értéket a B1 cellába, mint lehet érteni a kódot, és a D1 cellában (azaz, B1 tekintetében a virtuális lapot kezdődő C1).

  • második módszer - használja a sejteket tulajdonság. Lehetőségek az ingatlan kisebb - vissza tudjuk tartományban, amely csak egy cella. De tudjuk használni a sokkal kényelmesebb szintaxis (tekintve a változók átadása mozog bármely irányba bármely sejtek száma, stb.) Például, hogy megkapjuk a vonatkoztatási sejt D1 típusú kódot lehet alkalmazni:

Dim narancs, mint Tartomány

Set Orange = munkalapok ( "Munkalap1"). A sejteket (1, 4)

Ahhoz, hogy a tartományban, amely egy néhány sejt, ez kényelmes a használata a tulajdonságait a tartomány és a sejtek együtt:

Set Orange = tartomány (Cells (1, 1), A sejteket (5, 3))

  • A harmadik út -, hogy kihasználják a számos tulajdonságait a Range objektum, amely lehetővé teszi, hogy módosítsa a jelenlegi tartományban, vagy a létrehozása alapján egy újat. Ezek a tulajdonságok az alábbiakban tárgyaljuk.

Jellemzően, miután a kívánt sejt található, szükséges, hogy írjuk le valamit. Erre a célra használja az érték tulajdonság, például:

oRange.Value = "My érték"

Mivel a Range objektum funkcionális szempontból nagyon fontos, hogy a tulajdonságok és módszerek, hogy nagyon sok (és a kényelmes munkát az Excel tudniuk kell). Az alábbiakban néhány, a leginkább upotrebimo tulajdonságok:

sColumnName = Mid (oRange.Address, 2, (InStr (2, oRange.Address, "$") - 2) bekezdése)

A sor száma - így van.

sRowNumber = Mid (oRange.Address, (InStr (2, oRange.Address, "$") + 1))

Első pillantásra úgy néz ki, bonyolult, de valójában nagyon egyszerű - a neve az oszlop már csak venni mindazt, amink van, az első dollár (ez mi mindig az első karakter), és a második, és hogy minden sorban számok követjük a második dollár jel. Keresd meg ezt a második dollár jel lehet építeni a InStr () függvény, és megteszi a megfelelő karakterek száma kezdődően bármely, hogy használja a beépített funkció Mid ().

  • AllowEdit - ez a tulajdonság csak olvasható, annak megállapítására, hogy a felhasználó szerkesztheti a cella (cella) a védett listán. Használt vizsgálatokat.
  • Areas - ingatlan rendkívül fontos. Az a tény, hogy, mint már említettük, a Range objektum állhat készlet nem folytonos sejteket. Sok alkalmazott módszerek e sávok kiszámíthatatlanul viselkedhet vagy egyszerűen hibát ad vissza. Területeken a tulajdonság lehetővé teszi, hogy megtörje ezeket az egyedi tartományok egy sor szabványos. Így létrehozott tartomány tárgyak kerülnek a gyűjtőhelyeken. Ez a tulajdonság lehet használni, hogy ellenőrizze a „non-standard” tartomány:

Ha Selection.Areas.Count> Ezután 1

Debug.Print „tartományban az egymással nem szomszédos területek”

Dim narancs, oRange2 néven tartomány

Set Orange = tartomány (A sejteket (2, 2), A sejteket (5, 3))

Állítsa oRange2 = oRange.Cells (1, 1) „A1 Ehelyett kap egy hivatkozást B2

Debug.Print oRange2.Address' Tehát

Pontosan ugyanazokat a funkciókat az ingatlan sorban, és sorban, oszlopban és oszlopok.

  • Karakterek - egyszerű kinézetű tulajdonság lehetővé teszi, hogy megoldja a nehéz probléma: hogyan kell változtatni (vagy szöveges formátumban) a szöveg a cellába, anélkül, hogy a többi adat. Például szöveget A1 cellában, és változtatni a színét az első levél, akkor a kód






Dim narancs, mint Tartomány

Állítsa Narancs = tartomány ( "A1")

oRange.Value = "My Text"

oRange.Characters (1, 1) .Font.Color = vbRed

Ha csak meg kell változtatni egy értéket, akkor jobb, ha használja az Érték ingatlan - a harmadik sorban a példát.

  • Count - visszaadja a sejtek száma a tartományban. Ezt fel lehet használni a vizsgálatokat.
  • CurrentRegion - egy nagyon kényelmes funkció, amely hasznos lehet, például, ha a másolás / export kapott adatokat egy külső forrásból (ha sok lesz ezeket az adatokat, kezdetben ismeretlen). Ez visszaad egy tartomány tárgy, amely egy tartomány körülvett üres sejtek (azaz nem üres térbe, ahol a forrás tartomány / sejt). Például kiosztani minden nem üres terület körül az aktív cella, akkor a kód
  • Eltartott - lehetővé teszi, hogy megkapjuk tartomány oldalak (valószínűleg beleértve a nem érintkező régió), amely függ a kezdeti tartományban sejtek. Úgy működik, csak az aktuális lap - linkek külső oldalakon, hogy a tulajdon nem követi nyomon. Például válassza ki a sejteket, attól függően, hogy a tevékenység, akkor a kód
  • Munkalapok ( „Munka1”). Aktiválása
  • ActiveCell.Dependents.Select
  • Vége - egy másik általánosan használt tulajdonságait. Ez lehetővé teszi, hogy az objektum Range, képviseli az utolsó cella az eredeti tartományban. Egy oldalon lesznek az utolsó cella, segítségével határozható meg az átvitt paraméter.
  • Hibák - tulajdonság, hogy a hibák gyűjtése hozzáférést biztosít a tárgyak a hiba, ami a feltárt hibák a tartományban.
  • Font - mint a Word, az ingatlan lehetővé teszi, hogy hozzáférjen egy tárgy font, amellyel személyre szabhatja a funkciók szövegformázását cella (szín, betűtípus, betűméret, stb)
  • FormatConditions - a lehetőséget, hogy saját objektumot, amely képviseli a variáns tervezése sejtek, amelyeket azután lehet alkalmazni a különböző sejtek és tartományok.
  • Formula - az egyik legfontosabb tulajdonsága a Range objektum. És elérhető az írni és olvasni. Ha használja olvasni, visszatér a szöveg a képlet előírt a cellában (inkább, mint a számított érték), ha használják a rekord, ez lehetővé teszi, hogy írjon a képletet a cellába. Ha az ingatlan a tartomány, amely számos sejtek, a képlet kifejtettek minden tartományban a cella. Alkalmazási példa az ingatlan nézhet:
  • Az ingatlan FormulaLocal. mint AddressLocal, ez lehetővé teszi, hogy változtatásokat bizonyos sejtek számát a lokalizált változata Excel (Excel magyar verziója nem szükséges).
  • FormulaHidden - el lehet rejteni a képletet a tartományban a felhasználó. Úgy működik, csak a védett munkalapon.
  • HasFormula - ellenőrizze a jelenlétét egy sor számított értékek (képletek).
  • Rejtett - rejtett tartományban. Csak akkor fog működni, ha a tartományban legalább egy sort vagy oszlopot teljesen, különben hibaüzenetet küld.
  • Belső - másik ingatlan összefüggő formázást. Alapvetően ez lehetővé teszi, hogy festeni a cellatartományt.
  • Item - előállítását teszi lehetővé további célja Range, ami által meghatározott eltolásával a forrás tartományban.
  • Zárt - ez a funkció lehetővé teszi, hogy blokkolja egy cellatartományt a védőréteget.
  • Név - a lehetőséget, hogy egy hivatkozás egy speciális nevű objektumot Név tartományban. A grafikus kijelző képességeit megtalálható a Beszúrás menü -> Név. Ez lehetővé teszi a hozzáférést a tartományok és képletek nevét és némileg emlékeztet a funkció a tárgy könyvjelző Word.
  • Next -, hogy lépjen a következő cellára. Ha a lap nem védett, akkor a következő cellában tartják a cellát jobbra, ha védett - a következő, nem összeakadt cellában.
  • NumberFormat - a képességét, hogy az egyik előre meghatározott formátumok számát. Megfelel az esetleges lapok száma a menüben Format -> Cells a grafikus képernyőn.
  • Offset - ez a funkció lehetővé teszi, hogy egy sor új objektum egy adott tolva az eredeti. Például, hogy kap egy sejtet egy eltolt három sejtek felfelé a bal oldalon három hasonló sejtek kód használatával
  • Tájékozódás a funkció lehetővé teszi, hogy eligazodjanak a szöveget a sejtekben. Jelzi a dőlésszög fokban. Például, hogy helyezze el a szöveget a diagonális, akkor a kód
  • PageBreak - az ingatlan jellemzően programozottan Oldaltörések beszúrása. Alkalmazása a következőképpen nézne ki:
  • minden ingatlan kezdődő Pivot .... vannak rendelve dolgozni a tárgy Kimutatás (Kimutatás). Munka vele lesz szó az alábbiakban.
  • QueryTable - ez egy nagyon fontos funkció lehetővé teszi a link QueryTable tárgy - érkezik egy külső adatforrást. Ez a tulajdonság a tartomány objektum lehetővé teszi, hogy egy objektum referenciát QueryTable. amely ebben a tartományban. További információk a tárgy QueryTable lesz szó az alábbiakban.
  • Tartomány - az ingatlan, mint már említettük, hogy hozzon létre egy sor új alapul a meglévőt. Nem szabad elfelejteni, a funkciók a sejtek számát ebben az esetben.
  • Átméretezés - képes megváltoztatni az aktuális tartományban. Például, a növelése egyetlen oszlop le a jobb és egy sort a következőképpen nézhet ki:

oRange.Resize (oRange.Rows.Count + 1, oRange.Columns.Count + 1) lehetőségre.Válassza

  • ShrinkToFit - ez a funkció lehetővé teszi, hogy automatikusan beállítja a szöveg méretét a tartományban, így a szöveg illeszkedik az oszlop szélességét.
  • Style - Ez a tulajdonság lehetővé teszi, hogy visszatérjen a tárgy stílus, ami a stílus a megadott tartományon. A grafikus kijelző, amely lehetővé teszi, hogy a tárgy stílus, lehet tenni a menüben a Formátum -> Style.
  • Szöveg - a lehetőséget, hogy megkapja az értékét az első tartomány cella értékre String. A tartomány tárgy, ez a tulajdonság csak olvasható.
  • Validation - ez a funkció lehetővé teszi, hogy visszatérjen a tárgy Validation, amellyel beállíthatja a vizsgálat bemenő adatok körét.
  • Érték - a leggyakrabban használt ingatlan a Range objektum. Ez lehetővé teszi, hogy szerezzen, vagy rendeljen értéket (numerikus, szöveges vagy egyéb) sejtek között. Hasonlóképpen, ugyanerre a célra a Value2 tulajdon, az egyetlen különbség - ez a funkció nem támogatja az adatok típusát Valuta, és a dátum.
  • WrapText - opció engedélyezéséhez / letiltásához szövege fordításának a következő sort egy cellatartományt.

Most - a módszerek tárgy Range:

Set oRange2 = oRange.SpecialCells (xlCellTypeBlanks)

narancs 2. Válassza a „check-e ezt a

  • Részösszeg () lehetővé teszi, hogy kiszámítja az összes érték a tartományon (dönthet akkumulátor funkció és sok más paraméterek) módszerrel.
  • Táblázat () metódus lehetővé teszi, hogy hozzon létre egy táblázatot a leadott oszlop, vonal és funkciók kiszámításához használt táblázatcellába. Példa a dokumentációban ezt a módszert, hogy automatikusan generálja a szorzótábla.
  • TextToColumns () - komplex módszer, amely lehetővé teszi, hogy osztja az oszlopok a tartományban több oszlopot összhangban egy bizonyos algoritmus. Kap több opcionális paramétereket.