Užitečné vlastnosti objektů rozsahu pro Excel VBA, které by měl znát každý

Objekt Range má desítky vlastností. Programy VBA můžete psát nepřetržitě po dobu následujících 12 měsíců a nikdy je nepoužijete všechny. Zde získáte stručný přehled některých nejběžněji používaných vlastností Excel VBA Range. Úplné podrobnosti najdete v systému nápovědy ve VBE. (Prohlédněte si tyto další zdroje, kde najdete nápovědu k Excel VBA .)

Některé vlastnosti Excel VBA Range jsou vlastnosti pouze pro čtení, což znamená, že váš kód se může podívat na jejich hodnoty, ale nemůže je změnit („Podívejte se, ale nedotýkejte se“). Například každý objekt Excel VBA Range má vlastnost Address, která obsahuje adresu rozsahu. K této vlastnosti pouze pro čtení máte přístup, ale nemůžete ji změnit – což dává dokonalý smysl, když se nad tím zamyslíte.

Mimochodem, příklady, které následují, jsou spíše prohlášení než úplné postupy. Pokud byste chtěli některou z těchto možností vyzkoušet (a měli byste), vytvořte k tomu proceduru Sub. Mnoho z těchto příkazů VBA také funguje správně, pouze pokud je aktivním listem list.

Excel VBA: Vlastnost Value

Vlastnost Hodnota představuje hodnotu obsaženou v buňce. Jde o vlastnost čtení a zápisu, takže váš kód VBA může hodnotu buď číst, nebo měnit.

Následující příkaz zobrazí okno se zprávou, které zobrazuje hodnotu v buňce A1 na Listu1:

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

Je logické, že vlastnost Value můžete číst pouze pro objekt Range s jednou buňkou. Například následující příkaz generuje chybu:

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

Můžete však změnit vlastnost Hodnota pro rozsah libovolné velikosti. Následující příkaz vloží číslo 123 do každé buňky v rozsahu:

Worksheets("Sheet1").Rozsah("A1:C3").Hodnota = 123

Hodnota je výchozí vlastností pro objekt Excel VBA Range. Jinými slovy, pokud vynecháte vlastnost pro rozsah, Excel použije její vlastnost Value. Oba následující příkazy zadávají hodnotu 75 do buňky A1 aktivního listu:

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

Excel VBA: Vlastnost Text

Vlastnost Text vrací řetězec, který představuje text tak, jak je zobrazen v buňce – formátovanou hodnotu. Vlastnost Text je pouze pro čtení. Předpokládejme, že buňka A1 obsahuje hodnotu 12,3 a je naformátována tak, aby zobrazovala dvě desetinná místa a znak dolaru (12,30 $). Následující příkaz zobrazí okno se zprávou obsahující 12,30 $:

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

Ale další příkaz zobrazí okno se zprávou obsahující 12.3:

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

Pokud buňka obsahuje vzorec, vlastnost Text vrátí výsledek vzorce. Pokud buňka obsahuje text, vlastnost Text a vlastnost Value vždy vrátí totéž, protože text (na rozdíl od čísla) nelze formátovat tak, aby se zobrazoval jinak.

Excel VBA: Vlastnost Count

Vlastnost Count vrátí počet buněk v rozsahu. Počítá všechny buňky, nejen neprázdné. Count je vlastnost pouze pro čtení, jak byste očekávali. Následující příkaz přistupuje k vlastnosti počtu rozsahu a zobrazí výsledek (9) v okně se zprávou:

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

Excel VBA: Vlastnosti sloupce a řádku

Vlastnost Column vrací číslo sloupce rozsahu jedné buňky. Jeho pomocník, vlastnost Row, vrací číslo řádku rozsahu jedné buňky. Oba jsou vlastnosti pouze pro čtení. Například následující příkaz zobrazuje 6, protože buňka F3 je v šestém sloupci:

MsgBox Sheets("Sheet1").Range("F3").Sloupec

Další výraz zobrazí 3, protože buňka F3 je ve třetím řádku:

MsgBox Sheets("Sheet1").Range("F3").Řádek

Pokud se objekt Excel VBA Range skládá z více než jedné buňky, vrátí vlastnost Column číslo sloupce prvního sloupce v rozsahu a vlastnost Row vrátí číslo řádku prvního řádku v rozsahu.

Nezaměňujte vlastnosti Column a Row s vlastnostmi Columns a Rows. Vlastnosti Column a Row vracejí jednu hodnotu. Vlastnosti Columns a Rows na druhou stranu vracejí objekt Range. Jaký rozdíl dělá „s“.

Excel VBA: Vlastnost Adresa

Adresa, vlastnost pouze pro čtení, zobrazuje adresu buňky pro objekt Range jako absolutní odkaz (znak dolaru před písmenem sloupce a před číslem řádku). Následující prohlášení zobrazí okno se zprávou zobrazené níže:

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

Užitečné vlastnosti objektů rozsahu pro Excel VBA, které by měl znát každý

Toto okno se zprávou zobrazuje vlastnost Adresa rozsahu 5 x 5.

Excel VBA: Vlastnost HasFormula

Vlastnost HasFormula (která je jen pro čtení) vrátí hodnotu True, pokud rozsah jedné buňky obsahuje vzorec. Pokud buňka obsahuje něco jiného než vzorec (nebo je prázdná), vrátí hodnotu False. Pokud se rozsah skládá z více než jedné buňky, VBA vrátí hodnotu True, pouze pokud všechny buňky v oblasti obsahují vzorec, nebo False, pokud všechny buňky v rozsahu vzorec nemají. Vlastnost vrátí hodnotu Null, pokud rozsah obsahuje směs vzorců a neformulí. Null je druh země nikoho: Odpověď není ani pravda, ani nepravda a jakákoli buňka v rozsahu může nebo nemusí mít vzorec.

Při práci s vlastnostmi, které mohou vrátit hodnotu Null, musíte být opatrní. Přesněji řečeno, jediný datový typ, který dokáže pracovat s Null, je Variant.

Předpokládejme například, že buňka A1 obsahuje hodnotu a buňka A2 obsahuje vzorec. Následující příkazy generují chybu, protože rozsah se neskládá ze všech vzorců nebo všech neformulí:

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

Datový typ Boolean dokáže zpracovat pouze hodnotu True nebo False. Null způsobí, že si Excel stěžuje a zobrazí chybovou zprávu. Chcete-li tento typ situace vyřešit, je nejlepší zajistit, aby proměnná FormulaTest byla deklarována jako varianta, nikoli jako logická. Následující příklad používá praktickou funkci TypeName jazyka VBA (spolu s konstrukcí If-Then-Else) k určení datového typu proměnné FormulaTest. Pokud rozsah obsahuje směs vzorců a neformulí, zobrazí se v okně zprávy Mixed! V opačném případě se zobrazí True nebo False .

Dílčí CheckFormulas()
  Dim FormulaTest jako varianta
  FormulaTest = Rozsah("A1:A2").HasFormula
  If TypeName(FormulaTest) = "Null" Then
    MsgBox "Smíšené!"
  Jiný
    Test vzorce MsgBox
  End If
End Sub

Excel VBA: Vlastnost písma

Vlastnost může vrátit objekt. Vlastnost Font objektu Excel VBA Range je dalším příkladem tohoto konceptu v práci. Vlastnost Font vrací objekt Font.

Objekt Font, jak můžete očekávat, má mnoho přístupných vlastností. Chcete-li změnit některé aspekty písma rozsahu, musíte nejprve přistoupit k objektu Font rozsahu a poté manipulovat s vlastnostmi tohoto objektu. Může to být matoucí, ale možná pomůže tento příklad.

Následující příkaz používá vlastnost Font objektu Range k vrácení objektu Font. Potom se vlastnost Tučné písma nastaví na hodnotu True. V jednoduché angličtině tento příkaz způsobí, že se buňka zobrazí tučně:

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

Pravdou je, že opravdu nepotřebujete vědět, že pracujete se speciálním objektem Font, který je obsažen v objektu Excel VBA Range. Pokud používáte správnou syntaxi, funguje to dobře. Záznam vašich akcí pomocí záznamníku maker vám často řekne vše, co potřebujete vědět o správné syntaxi.

Excel VBA: Vlastnost Interior

Zde je další příklad vlastnosti, která vrací objekt. Vlastnost Interior objektu Range vrací objekt Interior (zvláštní název, ale tak se tomu říká). Tento typ odkazování na objekt funguje stejným způsobem jako vlastnost Font.

Například následující příkaz změní vlastnost Color objektu Interior obsaženého v objektu Range:

Rozsah("A1").Interior.Color = 8421504

Jinými slovy, tento příkaz změní pozadí buňky na středně šedé. co to je Nevěděli jste, že 8421504 je středně šedá? Některé pohledy do úžasného světa barev Excelu najdete na nedalekém postranním panelu „Rychlý a špinavý základní nátěr“.

Excel VBA: Vlastnost Formule

Vlastnost Formula představuje vzorec v buňce. Toto je vlastnost čtení a zápisu, takže k ní můžete přistupovat, abyste mohli buď zobrazit vzorec v buňce, nebo vložit vzorec do buňky. Například následující příkaz zadá vzorec SUM do buňky A13:

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

Všimněte si, že vzorec je textový řetězec a je uzavřen v uvozovkách. Všimněte si také, že vzorec začíná rovnítkem, stejně jako všechny vzorce.

Pokud samotný vzorec obsahuje uvozovky, věci jsou trochu složitější. Řekněme, že chcete vložit tento vzorec pomocí VBA:

=SUM(A1:A12)&"Obchody"

Tento vzorec zobrazuje hodnotu následovanou slovem Stores . Aby byl tento vzorec přijatelný, musíte nahradit všechny uvozovky ve vzorci dvěma uvozovkami. V opačném případě se VBA zmátne a tvrdí, že došlo k chybě syntaxe (protože existuje!). Zde je tedy příkaz, který zadává vzorec obsahující uvozovky:

Rozsah("A13").Vzorec = "=SOUČET(A1:A12)&"" Obchody"""

Mimochodem, můžete získat přístup k vlastnosti Vzorec buňky, i když buňka nemá vzorec. Pokud buňka nemá žádný vzorec, vlastnost Vzorec vrátí stejnou hodnotu jako vlastnost Hodnota.

Pokud potřebujete vědět, zda má buňka vzorec, použijte vlastnost HasFormula.

Uvědomte si, že VBA „mluví“ americkou angličtinou. To znamená, že pro vložení vzorce do buňky musíte použít americkou syntaxi. Pokud používáte neanglickou verzi Excelu, přečtěte si o vlastnosti FormulaLocal v systému nápovědy.

Excel VBA: Vlastnost NumberFormat

Vlastnost NumberFormat představuje formát čísla (vyjádřený jako textový řetězec) objektu Range. Toto je vlastnost čtení a zápisu, takže váš kód VBA může formát čísla buď prozkoumat, nebo jej změnit. Následující příkaz změní číselný formát sloupce A na procenta se dvěma desetinnými místy:

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

Chcete-li zobrazit seznam dalších formátů čísel, postupujte podle těchto kroků (ještě lépe, když to uděláte, zapněte záznam maker):

Aktivujte pracovní list.

Stisknutím Ctrl+1 otevřete dialogové okno Formát buněk.

Klepněte na kartu Číslo.

Chcete-li zobrazit a použít některé další řetězce formátování čísel, vyberte kategorii Vlastní.


Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows

Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows

Jak zablokovat aplikaci Microsoft Word v otevírání souborů v režimu pouze pro čtení v systému Windows Aplikace Microsoft Word otevírá soubory v režimu pouze pro čtení, takže je nelze upravovat? Nebojte se, metody jsou uvedeny níže

Jak opravit nesprávný tisk dokumentů Microsoft Word

Jak opravit nesprávný tisk dokumentů Microsoft Word

Jak opravit chyby při tisku nesprávných dokumentů Microsoft Word Chyby při tisku dokumentů Word se změněným písmem, chaotickými odstavci, chybějícím textem nebo ztraceným obsahem jsou poměrně časté. Nicméně ne

Vymažte kresby perem a zvýrazňovačem na snímcích PowerPoint

Vymažte kresby perem a zvýrazňovačem na snímcích PowerPoint

Pokud jste použili pero nebo zvýrazňovač ke kreslení na snímky aplikace PowerPoint během prezentace, můžete kresby uložit pro další prezentaci nebo je vymazat, takže až ji příště ukážete, začnete s čistými snímky aplikace PowerPoint. Chcete-li vymazat kresby perem a zvýrazňovačem, postupujte podle těchto pokynů: Mazání čar jedna na […]

Obsah knihovny stylů v SharePointu 2010

Obsah knihovny stylů v SharePointu 2010

Knihovna stylů obsahuje soubory CSS, soubory XSL (Extensible Stylesheet Language) a obrázky používané předdefinovanými vzorovými stránkami, rozvržení stránek a ovládací prvky v SharePointu 2010. Chcete-li najít soubory CSS v knihovně stylů webu pro publikování: Vyberte Akce webu→ Zobrazit Veškerý obsah webu. Zobrazí se obsah webu. Knihovna stylů se nachází v […]

Formátování čísel v tisících a milionech v sestavách Excel

Formátování čísel v tisících a milionech v sestavách Excel

Nezahlcujte své publikum gargantuovskými čísly. V aplikaci Microsoft Excel můžete zlepšit čitelnost řídicích panelů a sestav formátováním čísel tak, aby se zobrazovaly v tisících nebo milionech.

Jak sdílet a sledovat weby SharePoint

Jak sdílet a sledovat weby SharePoint

Naučte se používat nástroje sociálních sítí SharePoints, které umožňují jednotlivcům a skupinám komunikovat, spolupracovat, sdílet a propojovat se.

Jak převést data do juliánských formátů v aplikaci Excel

Jak převést data do juliánských formátů v aplikaci Excel

Juliánská data se často používají ve výrobním prostředí jako časové razítko a rychlý odkaz pro číslo šarže. Tento typ kódování data umožňuje maloobchodníkům, spotřebitelům a servisním zástupcům identifikovat, kdy byl produkt vyroben, a tím i stáří produktu. Juliánská data se také používají v programování, armádě a astronomii. Odlišný […]

Jak vytvořit webovou aplikaci Access

Jak vytvořit webovou aplikaci Access

Webovou aplikaci můžete vytvořit v Accessu 2016. Co je tedy vlastně webová aplikace? Web znamená, že je online, a aplikace je jen zkratka pro „aplikaci“. Vlastní webová aplikace je online databázová aplikace přístupná z cloudu pomocí prohlížeče. Webovou aplikaci vytváříte a udržujete ve verzi pro počítače […]

Panel rychlého spuštění v SharePointu 2010

Panel rychlého spuštění v SharePointu 2010

Většina stránek v SharePointu 2010 zobrazuje seznam navigačních odkazů na panelu Snadné spuštění na levé straně stránky. Panel Snadné spuštění zobrazuje odkazy na doporučený obsah webu, jako jsou seznamy, knihovny, weby a stránky publikování. Panel Snadné spuštění obsahuje dva velmi důležité odkazy: Odkaz na veškerý obsah webu: […]

Co znamenají chybové zprávy Řešitel v Excelu?

Co znamenají chybové zprávy Řešitel v Excelu?

U jednoduchých problémů Řešitel v Excelu obvykle rychle najde optimální hodnoty proměnné Řešitel pro účelovou funkci. Ale v některých případech má Řešitel problém najít hodnoty proměnné Řešitel, které optimalizují účelovou funkci. V těchto případech Řešitel obvykle zobrazí zprávu nebo chybovou zprávu, která popisuje nebo popisuje problém, který […]