Hasznos tartományobjektum-tulajdonságok az Excel VBA-hoz, amelyet mindenkinek tudnia kell

Egy Range objektumnak tucatnyi tulajdonsága van. A következő 12 hónapban folyamatosan írhat VBA-programokat, és soha nem használhatja fel az összeset. Itt rövid áttekintést kap az Excel VBA Range leggyakrabban használt tulajdonságairól. A részletekért keresse fel a VBE Súgóját. (Tekintse meg ezeket a további forrásokat, ha segítségre van szüksége az Excel VBA használatához .)

Egyes Excel VBA Range tulajdonságok csak olvasható tulajdonságok, ami azt jelenti, hogy a kód megnézheti az értékeket, de nem tudja megváltoztatni azokat ("Nézd, de ne érintsd meg"). Például minden Excel VBA Range objektum rendelkezik egy Address tulajdonsággal, amely tartalmazza a tartomány címét. Ezt a csak olvasható tulajdonságot elérheti, de nem módosíthatja – ami teljesen logikus, ha belegondolunk.

Egyébként a következő példák jellemzően kijelentések, nem pedig teljes eljárások. Ha ezek közül bármelyiket ki szeretné próbálni (és meg kell tennie), hozzon létre egy aleljárást. Ezen kívül sok ilyen VBA-utasítás csak akkor működik megfelelően, ha egy munkalap az aktív lap.

Excel VBA: Az Érték tulajdonság

Az Érték tulajdonság a cellában található értéket jelöli. Ez egy olvasási-írási tulajdonság, így a VBA-kód elolvashatja vagy megváltoztathatja az értéket.

A következő utasítás egy üzenetdobozt jelenít meg, amely az 1. munkalap A1 cellájában lévő értéket mutatja:

MsgBox Worksheets("Sheet1").Tartomány("A1").Érték

Magától értetődik, hogy a Value tulajdonság csak egycellás Range objektum esetén olvasható. Például a következő utasítás hibát generál:

MsgBox Worksheets("Sheet1").Tartomány("A1:C3").Érték

Az Érték tulajdonságot azonban bármilyen méretű tartományhoz módosíthatja. A következő utasítás a 123-as számot írja be egy tartomány minden cellájába:

Munkalapok("Lap1").Tartomány("A1:C3").Érték = 123

Az érték az Excel VBA Range objektum alapértelmezett tulajdonsága. Más szóval, ha kihagy egy tulajdonságot egy tartományból, az Excel a Value tulajdonságát használja. A következő utasítások egyaránt 75 értéket írnak be az aktív munkalap A1 cellájába:

Tartomány("A1").Érték = 75
Tartomány("A1") = 75

Excel VBA: A szöveg tulajdonság

A Szöveg tulajdonság egy karakterláncot ad vissza, amely a szöveget a cellában megjelenített formában jeleníti meg – a formázott értéket. A Text tulajdonság csak olvasható. Tegyük fel, hogy az A1 cella a 12,3 értéket tartalmazza, és úgy van formázva, hogy két tizedesjegyet és egy dollárjelet (12,30 USD) jelenítsen meg. A következő utasítás egy 12,30 dollárt tartalmazó üzenetmezőt jelenít meg:

MsgBox Worksheets("Sheet1").Tartomány("A1").Szöveg

De a következő utasítás egy üzenetdobozt jelenít meg, amely 12.3-at tartalmaz:

MsgBox Worksheets("Sheet1").Tartomány("A1").Érték

Ha a cella képletet tartalmaz, a Szöveg tulajdonság a képlet eredményét adja vissza. Ha egy cella szöveget tartalmaz, a Szöveg tulajdonság és az Érték tulajdonság mindig ugyanazt adja vissza, mert a szöveg (a számokkal ellentétben) nem formázható úgy, hogy másképp jelenjen meg.

Excel VBA: A Count tulajdonság

A Count tulajdonság egy tartomány celláinak számát adja vissza. Az összes cellát megszámolja, nem csak a nem üres cellákat. A Count csak olvasható tulajdonság, ahogyan az elvárható. A következő utasítás hozzáfér egy tartomány Count tulajdonságához, és megjeleníti az eredményt (9) egy üzenetmezőben:

MsgBox Range("A1:C3").Count

Excel VBA: Oszlop és sor tulajdonságok

Az Oszlop tulajdonság egy egycellás tartomány oszlopszámát adja vissza. Sidekickje, a Row tulajdonság egy egycellás tartomány sorszámát adja vissza. Mindkettő csak olvasható tulajdonság. Például a következő utasítás 6-ot jelenít meg, mivel az F3 cella a hatodik oszlopban van:

MsgBox Sheets("Sheet1").Tartomány("F3").Oszlop

A következő kifejezés 3-at jelenít meg, mert az F3 cella a harmadik sorban található:

MsgBox Sheets("Sheet1").Tartomány("F3").Sor

Ha az Excel VBA Range objektuma egynél több cellából áll, az Oszlop tulajdonság a tartomány első oszlopának oszlopszámát, a Sor tulajdonság pedig a tartomány első sorának sorszámát adja vissza.

Ne keverje össze az Oszlop és Sor tulajdonságokat az Oszlopok és Sorok tulajdonságokkal. Az Oszlop és Sor tulajdonságok egyetlen értéket adnak vissza. Az Oszlopok és Sorok tulajdonságok viszont egy Range objektumot adnak vissza. Milyen különbséget jelent az „s” betű.

Excel VBA: A Cím tulajdonság

Az Address egy csak olvasható tulajdonság, amely abszolút referenciaként jeleníti meg a Range objektum cellacímét (dollárjel az oszlop betűje előtt és a sor száma előtt). A következő utasítás az alábbi üzenetmezőt jeleníti meg:

MsgBox tartomány (Cellák (1, 1), Cellák (5, 5)). Cím

Hasznos tartományobjektum-tulajdonságok az Excel VBA-hoz, amelyet mindenkinek tudnia kell

Ez az üzenetmező egy 5x5 tartomány Cím tulajdonságát jeleníti meg.

Excel VBA: A HasFormula tulajdonság

A HasFormula tulajdonság (amely csak olvasható) igaz értéket ad vissza, ha az egycellás tartomány tartalmaz egy képletet. Hamis értéket ad vissza, ha a cella mást is tartalmaz, mint egy képletet (vagy üres). Ha a tartomány egynél több cellából áll, a VBA csak akkor ad vissza True értéket, ha a tartomány minden cellája tartalmaz egy képletet, vagy False értéket, ha a tartomány összes cellájában nincs képlet. A tulajdonság nullát ad vissza, ha a tartomány képleteket és nem képleteket tartalmaz. A nulla amolyan senkiföldje: a válasz sem nem igaz, sem nem hamis, és a tartomány bármely cellájának van képlete, vagy nem.

Óvatosnak kell lennie, amikor olyan tulajdonságokkal dolgozik, amelyek nullát adhatnak vissza. Pontosabban, az egyetlen adattípus, amely képes kezelni a Null-t, a Variant.

Tegyük fel például, hogy az A1 cella értéket, az A2 cella pedig egy képletet tartalmaz. A következő utasítások hibát generálnak, mert a tartomány nem tartalmazza az összes képletet vagy az összes nem képletet:

Dim FormulaTest Boolean-ként
FormulaTest = Tartomány("A1:A2").HasFormula

A logikai adattípus csak igaz vagy hamis tud kezelni. A nulla az Excel panaszt okoz, és hibaüzenetet jelenít meg. Az ilyen típusú helyzetek megoldásához a legjobb, ha megbizonyosodik arról, hogy a FormulaTest változó Változatként van deklarálva, nem pedig logikai értékként. A következő példa a VBA praktikus TypeName függvényét használja (egy If-Then-Else konstrukcióval együtt) a FormulaTest változó adattípusának meghatározására. Ha a tartomány vegyes képleteket és nem képleteket tartalmaz, az üzenetmezőben a Vegyes! Ellenkező esetben az Igaz vagy a Hamis értéket jeleníti meg .

Al CheckFormulas()
  Dim FormulaTest As Variant
  FormulaTest = Tartomány("A1:A2").HasFormula
  Ha TypeName(FormulaTest) = "Null" Akkor
    MsgBox "Vegyes!"
  Más
    MsgBox FormulaTest
  Vége Ha
Vége Sub

Excel VBA: A Font tulajdonság

Egy tulajdonság visszaadhat egy objektumot. Az Excel VBA Range objektumának Font tulajdonsága egy másik példa erre a működő koncepcióra. A Font tulajdonság egy Font objektumot ad vissza.

A Font objektumnak, amint az várható, számos elérhető tulajdonsága van. Egy tartomány betűtípusának bizonyos aspektusainak módosításához először hozzá kell férnie a tartomány Font objektumához, majd módosítania kell az objektum tulajdonságait. Lehet, hogy ez zavaró, de talán ez a példa segít.

A következő utasítás a Range objektum Font tulajdonságát használja a Font objektum visszaadásához. Ezután a Font objektum Bold tulajdonsága True értékre lesz állítva. Magyarán ez az utasítás félkövérrel jeleníti meg a cellát:

Tartomány("A1").Font.Bold = Igaz

Az igazság az, hogy nem igazán kell tudnia, hogy egy speciális Font objektummal dolgozik, amely egy Excel VBA Range objektumban található. Amíg a megfelelő szintaxist használod, jól működik. A műveletek rögzítése a makrórögzítővel gyakran mindent elmond, amit a megfelelő szintaxisról tudnia kell.

Excel VBA: A belső tulajdonság

Íme egy újabb példa egy objektumot visszaadó tulajdonságra. A Range objektum Interior tulajdonsága egy Interior objektumot ad vissza (furcsa név, de így hívják). Az ilyen típusú objektumhivatkozás ugyanúgy működik, mint a Font tulajdonság.

Például a következő utasítás megváltoztatja a Range objektumban található Interior objektum Color tulajdonságát:

Tartomány("A1").Belső.Szín = 8421504

Más szavakkal, ez az állítás a cella hátterét középszürkére változtatja. Mi az? Nem tudtad, hogy a 8421504 középszürke? Az Excel csodálatos színvilágába való betekintésért tekintse meg a közeli oldalsávot „A gyors és piszkos színalapozó”.

Excel VBA: A Képlet tulajdonság

A Formula tulajdonság a képletet jelöli egy cellában. Ez egy olvasási-írási tulajdonság, így elérheti a képletet egy cellában, vagy képletet szúrhat be egy cellába. Például a következő utasítás egy SUM képletet ír be az A13 cellába:

Tartomány("A13"). Formula = "=SZUM(A1:A12)"

Figyelje meg, hogy a képlet egy szöveges karakterlánc, és idézőjelek között van. Figyelje meg azt is, hogy a képlet egyenlőségjellel kezdődik, mint minden képlet.

Ha maga a képlet idézőjeleket tartalmaz, a dolgok kissé bonyolultak lesznek. Tegye fel, hogy ezt a képletet a VBA használatával szeretné beszúrni:

=SZUM(A1:A12)&"Üzletek"

Ez a képlet egy értéket jelenít meg, amelyet a Stores szó követ . Ahhoz, hogy ez a képlet elfogadható legyen, a képletben minden idézőjelet két idézőjelre kell cserélni. Ellenkező esetben a VBA összezavarodik, és azt állítja, hogy szintaktikai hiba van (mert van!). Tehát itt van egy utasítás, amely idézőjeleket tartalmazó képletet ír be:

Tartomány("A13").Formula = "=SUM(A1:A12)&"" Üzletek"""

Egyébként egy cella Formula tulajdonságát akkor is elérheti, ha a cellának nincs képlete. Ha egy cellának nincs képlete, akkor a Formula tulajdonság ugyanazt adja vissza, mint a Value tulajdonság.

Ha tudnia kell, hogy egy cellának van-e képlete, használja a HasFormula tulajdonságot.

Ügyeljen arra, hogy a VBA „beszél” amerikai angolul. Ez azt jelenti, hogy egy képlet cellába helyezéséhez az Egyesült Államok szintaxisát kell használnia. Ha az Excel nem angol verzióját használja, olvassa el a FormulaLocal tulajdonságot a Súgóban.

Excel VBA: A NumberFormat tulajdonság

A NumberFormat tulajdonság a Range objektum számformátumát jelöli (szövegkarakterláncként kifejezve). Ez egy olvasási-írási tulajdonság, így a VBA-kód vagy megvizsgálhatja a számformátumot, vagy megváltoztathatja azt. A következő utasítás az A oszlop számformátumát két tizedes jegyű százalékra módosítja:

Columns("A:A").NumberFormat = "0,00%"

Kövesse az alábbi lépéseket az egyéb számformátumok listájának megtekintéséhez (még jobb, ha közben bekapcsolja a makrórögzítőt):

Aktiváljon egy munkalapot.

Nyomja meg a Ctrl+1 billentyűkombinációt a Cellák formázása párbeszédpanel megnyitásához.

Kattintson a Szám fülre.

Válassza az Egyéni kategóriát néhány további számformátumú karakterlánc megtekintéséhez és alkalmazásához.

Leave a Comment

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban. Részletes útmutató, hogyan készíthet különféle stílusú jegyzeteket bibliográfiai információkhoz vagy magyarázó megjegyzésekhez.

Hogyan lehet kiemelni a statisztikailag kiugró értékeket az Excelben

Hogyan lehet kiemelni a statisztikailag kiugró értékeket az Excelben

Tudjon meg mindent arról, hogyan lehet az Excelben kiemelni a statisztikailag kiugró értékeket, mégpedig egyszerű eszközökkel és módszerekkel. Kiemelt figyelmet fordítunk a kiugró értékek azonosítására és kezelésére.

Hogyan lehet mintát venni az adatokból Excelben

Hogyan lehet mintát venni az adatokból Excelben

Az Excel Mintavételi eszközével véletlenszerűen kiválaszthat elemeket egy adatkészletből vagy választhat minden n-edik elemet. Ismerje meg, hogyan használhatja ezt a hasznos funkciót az adatelemzéshez!

10 klassz trükk a Microsoft Word 2019 programmal

10 klassz trükk a Microsoft Word 2019 programmal

Fedezze fel a Microsoft Word 2019 legjobb trükkjeit, amelyek segítenek a hatékonyabb munkavégzésben. Tudd meg, hogyan használhatod ki a program funkcióit!

Bekezdések igazítása és behúzása a Word 2019-ben

Bekezdések igazítása és behúzása a Word 2019-ben

A Word 2019-ben a bekezdések igazítása és behúzása kulcsfontosságú a dokumentumok megfelelő megjelenítéséhez. Ismerje meg a formázási lehetőségeket és tippeket a hatékonyabb munkához.

Az Excel 2019 Solver használata

Az Excel 2019 Solver használata

Fedezze fel, hogyan használhatja az Excel 2019 Solver bővítményt a komplex problémák megoldására. A célcella, változócellák és kényszerek beállítása lépésről lépésre.

Dinamikus elemek hozzáadásához használja a Word 2019 mezőit

Dinamikus elemek hozzáadásához használja a Word 2019 mezőit

A Word lehetővé teszi dinamikus elemek hozzáadását a dokumentumhoz. Fedezze fel, hogyan lehet különböző mezőket használni a Word programban a dinamikus tartalom létrehozásához.

Oszloptípusok a SharePoint 2010-ben

Oszloptípusok a SharePoint 2010-ben

A SharePoint 2010 oszlopai az adatok tárolására szolgálnak. Fedezze fel a különböző oszlop típusokat és azok alkalmazását a SharePoint rendszeren belül.

A nem kívánt szöveg eltávolítása a Word 2013-ban

A nem kívánt szöveg eltávolítása a Word 2013-ban

A Word 2013 szövegtörlésének képessége kulcsfontosságú, legyen szó szövegalkotásról vagy törlésről. Ismerje meg a hatékony szövegtörlési módszereket!

Hogyan készítsünk fotóalbumot a PowerPoint 2016-ban

Hogyan készítsünk fotóalbumot a PowerPoint 2016-ban

A fotóalbum funkció a PowerPoint 2016-ban lehetővé teszi, hogy egyszerre több fényképet illesszen be egy prezentációba, megkönnyítve ezzel a többszörös képek kezelését.