Užitočné vlastnosti objektu rozsahu pre Excel VBA by mal vedieť každý

Objekt Range má desiatky vlastností. Programy VBA môžete písať nepretržite počas nasledujúcich 12 mesiacov a nikdy ich nepoužijete všetky. Tu získate stručný prehľad niektorých najbežnejšie používaných vlastností Excel VBA Range. Úplné podrobnosti nájdete v systéme pomoci vo VBE. (Pozrite si tieto dodatočné zdroje, kde nájdete pomoc s Excelom VBA .)

Niektoré vlastnosti Excelu VBA Range sú vlastnosti len na čítanie, čo znamená, že váš kód si môže pozrieť ich hodnoty, ale nemôže ich zmeniť („Pozri, ale nedotýkaj sa“). Napríklad každý objekt Excel VBA Range má vlastnosť Address, ktorá obsahuje adresu rozsahu. Môžete pristupovať k tejto vlastnosti iba na čítanie, ale nemôžete ju zmeniť – čo dáva dokonalý zmysel, keď sa nad tým zamyslíte.

Mimochodom, nasledujúce príklady sú zvyčajne skôr vyhláseniami než úplnými postupmi. Ak by ste chceli niektorú z týchto možností vyskúšať (a mali by ste), vytvorte na to procedúru Sub. Mnohé z týchto príkazov VBA fungujú správne iba vtedy, ak je pracovný hárok aktívnym hárkom.

Excel VBA: Vlastnosť Value

Vlastnosť Value predstavuje hodnotu obsiahnutú v bunke. Je to vlastnosť čítania a zápisu, takže váš kód VBA môže čítať alebo meniť hodnotu.

Nasledujúce vyhlásenie zobrazí okno s hlásením, ktoré zobrazuje hodnotu v bunke A1 na Háre1:

MsgBox Worksheets("Sheet1").Range("A1").Value

Je logické, že vlastnosť Value môžete čítať len pre objekt Range s jednou bunkou. Napríklad nasledujúci príkaz generuje chybu:

MsgBox Worksheets("Sheet1").Range("A1:C3").Value

Môžete však zmeniť vlastnosť Hodnota pre rozsah ľubovoľnej veľkosti. Nasledujúci príkaz zadá číslo 123 do každej bunky v rozsahu:

Pracovné hárky("Hárok1").Rozsah ("A1:C3").Hodnota = 123

Hodnota je predvolená vlastnosť pre objekt Excel VBA Range. Inými slovami, ak vynecháte vlastnosť pre rozsah, Excel použije svoju vlastnosť Hodnota. Oba nasledujúce príkazy zadávajú hodnotu 75 do bunky A1 aktívneho hárka:

Rozsah("A1").Hodnota = 75
Rozsah("A1") = 75

Excel VBA: Vlastnosť Text

Vlastnosť Text vracia reťazec, ktorý predstavuje text tak, ako je zobrazený v bunke – formátovanú hodnotu. Vlastnosť Text je len na čítanie. Predpokladajme, že bunka A1 obsahuje hodnotu 12,3 a je naformátovaná tak, aby zobrazovala dve desatinné miesta a znak dolára (12,30 USD). Nasledujúci výpis zobrazí okno so správou, ktoré obsahuje 12,30 USD:

MsgBox Pracovné hárky("Hárok1").Rozsah("A1").Text

Ale nasledujúci príkaz zobrazí okno so správou obsahujúce 12.3:

MsgBox Worksheets("Sheet1").Range("A1").Value

Ak bunka obsahuje vzorec, vlastnosť Text vráti výsledok vzorca. Ak bunka obsahuje text, vlastnosť Text a vlastnosť Hodnota vždy vrátia to isté, pretože text (na rozdiel od čísla) nemožno formátovať tak, aby sa zobrazoval inak.

Excel VBA: Vlastnosť Count

Vlastnosť Count vráti počet buniek v rozsahu. Počíta všetky bunky, nielen neprázdne. Count je vlastnosť len na čítanie, presne ako by ste očakávali. Nasledujúci príkaz pristupuje k vlastnosti Počet a zobrazuje výsledok (9) v okne so správou:

Rozsah MsgBox("A1:C3").Počet

Excel VBA: Vlastnosti stĺpca a riadka

Vlastnosť Column vráti číslo stĺpca rozsahu jednej bunky. Jeho pomocník, vlastnosť Row, vracia číslo riadku rozsahu jednej bunky. Obe vlastnosti sú len na čítanie. Napríklad nasledujúci príkaz zobrazuje 6, pretože bunka F3 je v šiestom stĺpci:

MsgBox Sheets("Hárok1").Rozsah("F3").Stĺpec

Ďalší výraz zobrazí 3, pretože bunka F3 je v treťom riadku:

MsgBox Sheets("Hárok1").Rozsah("F3").Riadok

Ak objekt Excel VBA Range pozostáva z viac ako jednej bunky, vlastnosť Column vráti číslo stĺpca prvého stĺpca v rozsahu a vlastnosť Row vráti číslo riadka prvého riadka v rozsahu.

Nezamieňajte si vlastnosti Stĺpec a Riadok s vlastnosťami Stĺpce a Riadky. Vlastnosti Stĺpec a Riadok vrátia jednu hodnotu. Vlastnosti Stĺpce a Riadky na druhej strane vracajú objekt Rozsah. Aký rozdiel robí „s“.

Excel VBA: Vlastnosť adresy

Adresa, vlastnosť len na čítanie, zobrazuje adresu bunky pre objekt Range ako absolútnu referenciu (znak dolára pred písmenom stĺpca a pred číslom riadku). Nasledujúce vyhlásenie zobrazí okno so správou zobrazené nižšie:

Rozsah MsgBox(Cells(1, 1), Cells(5, 5)).Address

Užitočné vlastnosti objektu rozsahu pre Excel VBA by mal vedieť každý

Toto okno so správou zobrazuje vlastnosť Adresa rozsahu 5 x 5.

Excel VBA: Vlastnosť HasFormula

Vlastnosť HasFormula (ktorá je len na čítanie) vráti hodnotu True, ak rozsah jednej bunky obsahuje vzorec. Ak bunka obsahuje niečo iné ako vzorec (alebo je prázdna), vráti hodnotu False. Ak rozsah pozostáva z viac ako jednej bunky, VBA vráti hodnotu True, iba ak všetky bunky v rozsahu obsahujú vzorec, alebo hodnotu False, ak všetky bunky v rozsahu vzorec nemajú. Vlastnosť vráti hodnotu Null, ak rozsah obsahuje zmes vzorcov a neformulácií. Null je akousi krajinou nikoho: Odpoveď nie je ani Pravda, ani Nepravda a každá bunka v rozsahu môže, ale nemusí mať vzorec.

Pri práci s vlastnosťami, ktoré môžu vrátiť hodnotu Null, musíte byť opatrní. Presnejšie povedané, jediný typ údajov, ktorý dokáže pracovať s hodnotou Null, je Variant.

Predpokladajme napríklad, že bunka A1 obsahuje hodnotu a bunka A2 obsahuje vzorec. Nasledujúce príkazy generujú chybu, pretože rozsah nepozostáva zo všetkých vzorcov alebo všetkých nevzorcov:

Dim FormulaTest ako Boolean
FormulaTest = Rozsah("A1:A2").HasFormula

Typ údajov Boolean dokáže spracovať iba hodnotu True alebo False. Null spôsobí, že Excel si sťažuje a zobrazí chybové hlásenie. Ak chcete vyriešiť tento typ situácie, najlepšie je uistiť sa, že premenná FormulaTest je deklarovaná ako Variant a nie ako Boolean. Nasledujúci príklad používa praktickú funkciu TypeName jazyka VBA (spolu s konštruktom If-Then-Else) na určenie typu údajov premennej FormulaTest. Ak rozsah obsahuje zmes vzorcov a neformulácií, v okne hlásenia sa zobrazí Zmiešané! V opačnom prípade sa zobrazí True alebo False .

Sub CheckFormulas()
  Dim FormulaTest ako variant
  FormulaTest = Rozsah("A1:A2").HasFormula
  Ak TypeName (FormulaTest) = "Null" Potom
    MsgBox "Zmiešané!"
  Inak
    Test vzorca MsgBox
  Koniec Ak
End Sub

Excel VBA: Vlastnosť písma

Vlastnosť môže vrátiť objekt. Vlastnosť Font objektu Excel VBA Range je ďalším príkladom tohto konceptu v práci. Vlastnosť Font vráti objekt Font.

Objekt Font, ako môžete očakávať, má veľa prístupných vlastností. Ak chcete zmeniť niektorý aspekt písma rozsahu, musíte najprv pristúpiť k objektu Písmo rozsahu a potom manipulovať s vlastnosťami tohto objektu. Môže to byť mätúce, ale možno vám tento príklad pomôže.

Nasledujúci príkaz používa vlastnosť Font objektu Range na vrátenie objektu Font. Potom je vlastnosť Bold objektu Font nastavená na True. V jednoduchej angličtine toto vyhlásenie spôsobí, že sa bunka zobrazí tučným písmom:

Rozsah("A1").Font.Tučné = True

Pravdou je, že v skutočnosti nemusíte vedieť, že pracujete so špeciálnym objektom Font, ktorý je obsiahnutý v objekte Excel VBA Range. Pokiaľ používate správnu syntax, funguje to dobre. Zaznamenávanie vašich akcií pomocou makrorekordéra vám často povie všetko, čo potrebujete vedieť o správnej syntaxi.

Excel VBA: Vlastnosť interiéru

Tu je ďalší príklad vlastnosti, ktorá vracia objekt. Vlastnosť Interior objektu Range vracia objekt Interior (zvláštny názov, ale tak sa to volá). Tento typ odkazovania na objekt funguje rovnakým spôsobom ako vlastnosť Font.

Napríklad nasledujúci príkaz zmení vlastnosť Color objektu Interior obsiahnutého v objekte Range:

Rozsah("A1").Farba interiéru = 8421504

Inými slovami, toto vyhlásenie zmení pozadie bunky na stredne šedé. Čo je to? Nevedeli ste, že 8421504 je stredne šedá? Niektoré pohľady do úžasného sveta farieb Excelu nájdete na vedľajšom bočnom paneli „Rýchly a špinavý základný náter“.

Excel VBA: Vlastnosť vzorca

Vlastnosť Vzorec predstavuje vzorec v bunke. Toto je vlastnosť čítania a zápisu, takže k nej môžete pristupovať a zobraziť vzorec v bunke alebo vložiť vzorec do bunky. Napríklad nasledujúci príkaz zadá vzorec SUM do bunky A13:

Rozsah("A13"). Vzorec = "=SUM(A1:A12)"

Všimnite si, že vzorec je textový reťazec a je uzavretý v úvodzovkách. Všimnite si tiež, že vzorec začína znakom rovnosti, ako všetky vzorce.

Ak samotný vzorec obsahuje úvodzovky, veci sú trochu zložitejšie. Povedzme, že chcete vložiť tento vzorec pomocou VBA:

=SUM(A1:A12)&"Obchody"

Tento vzorec zobrazuje hodnotu, za ktorou nasleduje slovo Stores . Aby bol tento vzorec prijateľný, musíte nahradiť všetky úvodzovky vo vzorci dvoma úvodzovkami. V opačnom prípade je VBA zmätený a tvrdí, že došlo k chybe syntaxe (pretože existuje!). Takže tu je vyhlásenie, ktoré zadáva vzorec, ktorý obsahuje úvodzovky:

Rozsah("A13").Vzorec = "=SUM(A1:A12)&"" Obchody"""

Mimochodom, môžete získať prístup k vlastnosti vzorca bunky, aj keď bunka nemá vzorec. Ak bunka nemá vzorec, vlastnosť Vzorec vráti rovnakú hodnotu ako vlastnosť Hodnota.

If you need to know whether a cell has a formula, use the HasFormula property.

Be aware that VBA “speaks” U.S. English. This means that to put a formula in a cell, you must use the U.S. syntax. If you use a non-English version of Excel, read up on the FormulaLocal property in the Help system.

Excel VBA: The NumberFormat property

The NumberFormat property represents the number format (expressed as a text string) of the Range object. This is a read-write property, so your VBA code can either examine the number format or change it. The following statement changes the number format of column A to a percentage with two decimal places:

Columns("A:A").NumberFormat = "0.00%"

Follow these steps to see a list of other number formats (better yet, turn on the macro recorder while you do this):

Activate a worksheet.

Stlačte Ctrl+1, aby ste sa dostali do dialógového okna Formát buniek.

Kliknite na kartu Číslo.

Ak chcete zobraziť a použiť niektoré ďalšie reťazce formátu čísel, vyberte kategóriu Vlastné.


Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime len na čítanie v systéme Windows Microsoft Word otvára súbory v režime len na čítanie, takže ich nie je možné upravovať? Nebojte sa, metódy sú uvedené nižšie

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť chyby pri tlači nesprávnych dokumentov Microsoft Word Chyby pri tlači dokumentov Word so zmeneným typom písma, chaotickými odsekmi, chýbajúcim textom alebo strateným obsahom sú pomerne časté. Avšak, nie

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Ak ste použili pero alebo zvýrazňovač na kreslenie na powerpointové snímky počas prezentácie, môžete si kresby uložiť pre ďalšiu prezentáciu alebo ich vymazať, aby ste pri ďalšom zobrazení začali s čistými powerpointovými snímkami. Ak chcete vymazať kresby perom a zvýrazňovačom, postupujte podľa týchto pokynov: Vymazanie riadkov jedna na […]

Obsah knižnice štýlov v SharePointe 2010

Obsah knižnice štýlov v SharePointe 2010

Knižnica štýlov obsahuje súbory CSS, súbory XSL (Extensible Stylesheet Language) a obrázky používané preddefinovanými vzorovými stránkami, rozloženiami strán a ovládacími prvkami v SharePointe 2010. Ak chcete nájsť súbory CSS v knižnici štýlov publikačnej lokality: Vyberte Akcie lokality→Zobraziť Všetok obsah stránky. Zobrazí sa obsah stránky. Knižnica štýlov sa nachádza v […]

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Nezahlcujte svoje publikum obrovskými číslami. V programe Microsoft Excel môžete zlepšiť čitateľnosť svojich tabúľ a zostáv formátovaním čísel tak, aby sa zobrazovali v tisíckach alebo miliónoch.

Ako zdieľať a sledovať lokality SharePoint

Ako zdieľať a sledovať lokality SharePoint

Zistite, ako používať nástroje sociálnych sietí SharePoints, ktoré umožňujú jednotlivcom a skupinám komunikovať, spolupracovať, zdieľať a spájať sa.

Ako previesť dátumy do Julianových formátov v Exceli

Ako previesť dátumy do Julianových formátov v Exceli

Juliánske dátumy sa často používajú vo výrobných prostrediach ako časová pečiatka a rýchla referencia pre číslo šarže. Tento typ kódovania dátumu umožňuje maloobchodníkom, spotrebiteľom a servisným zástupcom identifikovať, kedy bol produkt vyrobený, a teda aj vek produktu. Juliánske dátumy sa používajú aj v programovaní, armáde a astronómii. Rôzne […]

Ako vytvoriť Access Web App

Ako vytvoriť Access Web App

V Accesse 2016 môžete vytvoriť webovú aplikáciu. Čo je to teda webová aplikácia? Web znamená, že je online a aplikácia je len skratka pre „aplikáciu“. Vlastná webová aplikácia je online databázová aplikácia, ku ktorej sa pristupuje z cloudu pomocou prehliadača. Vytvárate a udržiavate webovú aplikáciu vo verzii pre počítače […]

Panel rýchleho spustenia v SharePointe 2010

Panel rýchleho spustenia v SharePointe 2010

Väčšina stránok v SharePointe 2010 zobrazuje zoznam navigačných prepojení na paneli Rýchle spustenie pozdĺž ľavej strany stránky. Panel Rýchle spustenie zobrazuje prepojenia na odporúčaný obsah lokality, ako sú zoznamy, knižnice, lokality a publikačné stránky. Panel Rýchle spustenie obsahuje dva veľmi dôležité odkazy: Odkaz na celý obsah lokality: […]

Čo znamenajú chybové hlásenia v programe Excel?

Čo znamenajú chybové hlásenia v programe Excel?

Pre jednoduché problémy Riešiteľ v Exceli zvyčajne rýchlo nájde optimálne hodnoty premennej Riešiteľ pre cieľovú funkciu. V niektorých prípadoch má však Riešiteľ problém nájsť hodnoty premennej Riešiteľ, ktoré optimalizujú cieľovú funkciu. V týchto prípadoch Riešiteľ zvyčajne zobrazí hlásenie alebo chybové hlásenie, ktoré popisuje alebo diskutuje problém, ktorý […]