Vytvorte si vlastné dialógové okná pomocou VBA. Dátové I / O vo VBA Vba makrá funkcie vstupu a výstupu údajov

Metóda Bunky aktivuje zadanú bunku. Syntax metódy je nasledovná:

Bunky [(N riadkov, N stĺpcov)]

N riadkov -číslo riadku aktuálneho listu programu Excel ,

Stĺpec N -číslo stĺpca aktuálneho excelového listu (pri použití tejto metódy sú stĺpce očíslované).

Táto syntax predpokladá, že na aktívnom hárku programu Excel je bunka umiestnená na križovatke N riadkov a Stĺpec N, sa stáva aktívnym.

Použitie metódy Bunky bunku môžete aktivovať, aby ste neskôr mohli zadávať alebo zobrazovať údaje.

Ak sa používa táto metóda vkladanie dát potom z bunky pracovného hárka do premennej Bunky stojí na pravej strane operátora priradenia a ak sa vykonáva výkon potom z premennej do bunky pracovného hárka Bunky stojí na jeho ľavej strane.

Vstupná štruktúra, pomocou metódy BunkyĎalšie:

< názov> = Bunky ( ),

< názov> - jednoduchý premenný alebo maticový prvok.

Štruktúra výstupu pomocou metódy BunkyĎalšie:

Bunky ( )= < výraz>,

< výraz> - akákoľvek zobrazená hodnota.

Zoberme si príklad nasledujúceho programu:

Sub input_output_Cells ()

Bunky (5, 1) = "c ="

Pred spustením tohto makra vyzeral pracovný hárok programu Excel takto (pozri obrázok 13):

A po spustení makra to vyzerá takto (pozri obr. 14):

Riadiace štruktúry VBA. Podmienený operátor. Bezpodmienečný operátor skoku

Riadiace štruktúry vám umožní ovládať postupnosť vykonávania programu. Bez riadiacich príkazov budú všetky príkazy programu prebiehať zľava doprava a zhora nadol. Zvážte jednu z riadiacich štruktúr VBA - podmienený operátor.

Podmienený operátor používa sa vtedy, keď je potrebné vykonať jedného alebo skupinu operátorov v závislosti od hodnoty určitej podmienky.

Syntax podmieneného príkazu:

Krátka forma Þ Ak<условие>Potom<оператор>

Ak< условие >Potom

< оператор > /< Группа операторов 1 >

Plná forma Þ Ak< условие >Potom

< оператор 1 > / < Группа операторов 1 >

< оператор 2> < Группа операторов 2 >

V blokovom diagrame je podmienený operátor znázornený nasledovne:

Podmienkou je spravidla jednoduché porovnanie, ale môže to byť ľubovoľný výraz s vypočítanou hodnotou. Táto hodnota sa interpretuje ako nepravdivá, ak je nulová, a všetky nenulové hodnoty sa považujú za pravdivé. Ak je podmienka pravdivá, vykonajú sa všetky výrazy za kľúčovým slovom Potom... Ak je podmienka nepravdivá, vykonajú sa všetky výrazy za kľúčovým slovom Inak.

Je povolených viac vnorených konštrukcií s takým počtom úrovní vnorenia, koľko je potrebné.

Zvážte inú kontrolnú štruktúru - bezpodmienečný operátor skoku... Jeho syntax je:

Ísť do štítok,

kde štítok je to akákoľvek kombinácia znakov.

Tento príkaz násilne mení postupnosť vykonávania programu. Príkaz GoTo prenáša kontrolu na označený príkaz, t.j. po príkaze GoTo sa vykoná príkaz určený štítkom.

Riadiace štruktúry VBA. Operátori slučiek.

Niekedy je potrebné opakovane automaticky vykonať určitú sadu inštrukcií alebo problém vyriešiť inak v závislosti od hodnoty premenných alebo parametrov zadaných používateľom za behu. Na to slúži podmienený operátor a slučkové operátory.

Pozrime sa na príkazy cyklu VBA. Smyčka so známym počtom opakovaní(slučka s parametrom) implementovaná vo VBA pomocou operátora Na ďalšie nasledujúca štruktúra:

Pre<параметр цикла>= <начальное значение> Komu<конечное значение>

<операторы VBA>

Ďalšie<параметр цикла>

<параметр цикла>- názov (identifikátor) parametra cyklu;

<начальное значение> - počiatočná hodnota parametra cyklu;

<конечное значение>- konečná hodnota parametra cyklu;

<шаг>- krok zmeny parametra cyklu (voliteľný parameter, ak chýba, krok zmeny je 1);

<операторы VBA>

V blokovom diagrame je tento operátor znázornený nasledovne:

V tele tejto slučky môžete použiť operátor Ukončiť pre, pomocou ktorého môžete cyklus dokončiť Na ďalšie než parameter nadobudne konečnú hodnotu.

Smyčky s neznámym počtom opakovaní sú vo VBA implementované pomocou príkazov Do While ... Loop, Do until ... Loop, Do ... Loop While, Do ... Loop until.

Zvážte štruktúru príkazu Do While ... Loop.

Robiť kým<условие>

<операторы VBA>

Tu <условие> - logický výraz;

<операторы VBA> - Príkazy VBA, ktoré implementujú telo slučky.

<условие>, ak<условие>má hodnotu True, potom sa príkazy vykonajú až po servisné slovo Loop. Potom sa stav znova skontroluje a to pokračuje, kým sa stav nestane nepravdivým.

Zvážte štruktúru príkazu Do Do ... Loop.

Urobiť do<условие>

<операторы VBA>

Operátor sa vykoná nasledovne. Začiarknuté<условие>, ak<условие>nadobudne hodnotu False, potom sa operátory vykonajú až po servisné slovo Loop. Potom sa podmienka znova skontroluje a to pokračuje, kým sa podmienka nestane pravdivou (True).

V blokovom diagrame je tento operátor znázornený nasledovne:

Videli sme príkazy slučky, ktoré implementujú predpodmienenú slučku.

Zvážte príkazy slučky, ktoré implementujú slučku s dodatočnou podmienkou. Toto sú vyhlásenia Do ... Loop While a Do ... Loop until. Štruktúra týchto operátorov je nasledovná:

<операторы VBA>

Slučka do<условие>

<условие>, ak<условие>prevezme hodnotu False, potom sa operátory pred servisným slovom slučky opäť vykonajú. Toto pokračuje až do<условие>sa nestane pravdou (Pravda).

V blokovom diagrame je tento operátor znázornený nasledovne:

<операторы VBA>

Slučka kým<условие>

Operátor sa vykoná nasledovne. Operátori sú vykonávaní až do servisného slova Loop. Potom skontrolované<условие>, ak<условие>nadobudne hodnotu True, potom sa znova vykonajú príkazy až po servisné slovo Loop. Toto pokračuje až do<условие>sa nestane falošným (False).

V blokovom diagrame je tento operátor znázornený nasledovne:

Vo VBA existuje operátor, ktorý vám umožňuje ukončiť predčasné slučky s neznámym počtom opakovaní. Na opustenie týchto slučiek použite operátor Ukončiť Do.

V tomto článku sa naučíte, ako vytvoriť okno správy vo VBA Excel, ktoré môže zobrazovať rôzne informácie.

Funkcia MsgBox zobrazí okno so správou a počká, kým používateľ klikne na tlačidlo, a potom sa akcia vykoná na základe tlačidla, ktoré používateľ stlačil.

Syntax

MsgBox (výzva [, tlačidlá] [, názov] [, súbor pomoci, kontext])

Popis parametra

  • Požiadavka je povinný parameter. Reťazec zobrazený ako správa v dialógovom okne. Maximálna dĺžka pozvánky je asi 1024 znakov. Ak sa správa rozprestiera na viac ako jednom riadku, riadky je možné rozdeliť medzi každý riadok pomocou znaku návrat na koniec (Chr (13)) alebo riadkového znaku (Chr (10)).
  • Tlačidlá sú voliteľné. Číselný výraz, ktorý určuje typ tlačidiel, ktoré sa majú zobraziť, štýl ikon, ktoré sa má použiť, predvolené ID tlačidla a modalitu poľa so správou. Ak je pole prázdne, predvolená hodnota pre tlačidlá je 0.
  • Názov je voliteľný. Reťazcový výraz sa zobrazí v záhlaví dialógového okna. Ak názov zostane prázdny, názov aplikácie sa umiestni do záhlavia.
  • Súbor pomocníka je voliteľný. Reťazcový výraz, ktorý identifikuje súbor pomocníka, ktorý sa má použiť na poskytnutie kontextovej pomoci pre dialógové okno.
  • Kontext je voliteľný parameter. Číselný výraz, ktorý identifikuje číslo kontextu pomoci priradené autorovi pomoci pre zodpovedajúcu tému pomoci. Ak je k dispozícii kontext, mal by byť poskytnutý aj súbor pomocníka.

Parameter Buttons môže mať ktorúkoľvek z nasledujúcich hodnôt:

  • 0 vbOKOnly - zobrazí iba tlačidlo OK.
  • 1 vbOKCancel - Zobrazí tlačidlá OK a Zrušiť.
  • 2 vbAbortRetryIgnore - Zobrazí tlačidlá späť, znova a ignorovať.
  • 3 vbYesNoCancel - zobrazuje tlačidlá Áno, Nie a Zrušiť.
  • 4 vbYesNo - zobrazuje tlačidlá Áno a Nie.
  • 5 vbRetryCancel - Zobrazí tlačidlá opakovania a zrušenia.
  • 16 vbCritical - Zobrazí ikonu kritickej správy.
  • 32 vbQuestion - Zobrazí ikonu varovania.
  • 48 vbExclamation - Zobrazí ikonu výstražnej správy.
  • 64 vb Informácie. Zobrazí ikonu informačnej správy.
  • 0 vbDefaultButton1 je prvé predvolené tlačidlo.
  • 256 vbDefaultButton2 je druhé predvolené tlačidlo.
  • 512 vbDefaultButton3 - tretie tlačidlo v predvolenom nastavení.
  • 768 vbDefaultButton4 - Štvrté predvolené tlačidlo.
  • 0 vbApplicationModal Modálna aplikácia - aktuálna aplikácia sa nespustí, kým používateľ na správu neodpovie.
  • 4096 vbSystemModal System modálny - všetky aplikácie nebudú fungovať, kým používateľ na správu neodpovie.

Vyššie uvedené hodnoty sú logicky rozdelené do štyroch skupín: prvá skupina (0 až 5) označuje tlačidlá, ktoré sa majú zobraziť v okne so správou. Druhá skupina (16, 32, 48, 64) popisuje štýl ikony, ktorá sa bude zobrazovať, tretia skupina (0, 256, 512, 768) označuje, ktoré tlačidlo by malo byť predvolené, a štvrtá skupina (0, 4096) definuje modalitu schránky správ.

Vrátiť hodnoty

Funkcia MsgBox môže vrátiť jednu z nasledujúcich hodnôt, ktoré je možné použiť na identifikáciu tlačidla, na ktoré používateľ klikol v okne so správou.

  • 1 - je stlačené tlačidlo vbOK - OK.
  • 2 - vbCancel - Kliklo sa na Zrušiť
  • 3 - vbAbort - je stlačené tlačidlo Prerušiť
  • 4 - vbRetry - tlačidlo Opakovať stlačené
  • 5 - vbIgnore - Ignorovať stlačené tlačidlo
  • 6 - vbÁno - je stlačené tlačidlo „Áno“
  • 7 - vbNo - Žiadne kliknutie

Vedľajšia správaBox_Demo () „Jednoduchá správa MsgBox („ Ahoj “)„ Správa s názvom a tlačidlami áno, nie a zrušenie a = MsgBox („Máte radi modrú farbu“, 3, „Vyberte odpoveď“) „Kód stlačeného tlačidla MsgBox („Odpoveď na hodnotu“ a a) Koniec pod

MsgBox krok za krokom

Krok 1 - Vyššie uvedenú funkciu je možné vykonať buď kliknutím na tlačidlo Spustiť v okne VBA, alebo kliknutím na tlačidlo, ktoré ste sami pridali do listu programu Excel.

Krok 2 - Zobrazí sa jednoduché textové pole s uvítacou správou a tlačidlom OK

Hotovo pomocou vstavaných funkcií InputBox, MsgBox, zmenou určitých vlastností určitých predmetov alebo použitím vhodných metód na ne.

Vstup dát

Je možné zadať premenné hodnoty:

    Použitie funkcieInputBox ktorý pri spustení programu zobrazí vlastné okno. Hodnota vrátená funkciou InputBox je typu string. Ak teda chcete zadanú hodnotu použiť ako číselnú premennú, musíte ju navyše previesť na číselný typ pomocou funkcie Val. Ak napríklad chcete do premennej zadať hodnotu 5,25, musíte napísať nasledujúci riadok kódu programu:

a = Val (InputBox („Zadajte a“, „Zadávanie údajov“))

2) Pomocou textového poľaTextové pole... Formulár musí mať textové pole, napríklad Text1, a v prípade postupu akcie, napríklad na kliknutie na príkazové tlačidlo, musí byť napísaný kód programu, ktorý používa vlastnosť textu objektu Text1:

Súkromný podradený príkaz1_Click ()

a = Val (Text1.text)

Vlastnosť text objektu Text1 má tiež reťazcovú hodnotu, preto ho treba pomocou funkcie Val previesť na číselnú hodnotu.

Výstup výsledkov

Existujú rôzne spôsoby zobrazenia výsledkov vo VB.

    Hlavným operátorom pre výstup hodnôt premenných v jazyku VB je operátor Print, ktorý sa z hľadiska objektovo orientovaného programovania považuje za metóda, pôsobiaci na objekt, ktorému sa zobrazia hodnoty uvedené v zozname. Hlavnými objektmi, ktoré majú metódu Print, sú Form a PictureBox.

Ak nie je zadaný objekt, na ktorý je použitá metóda tlače, potom sa zoznam hodnôt zobrazí v aktívnom formulári. Napríklad po spustení riadka kódu:

    Hodnotu premennej môžete zobraziť pomocou funkcie MsgBox, ktorá po spustení aktivuje na obrazovke vlastné pole správ.

Súkromný podradený príkaz1_Click ()

    Výstup je možné zabaliť do textového poľa zmenou jeho vlastnosti Text

Text1.text = str (a)

Malo by sa pamätať na to, že vlastnosť Text pracuje s reťazcom znakov, takže zobrazené číslo je pomocou funkcie str prevedené na reťazec znakov.

    Výstup je možné štylizovať na štítok zmenou jeho vlastnosti Titulky:

Label1.Caption = „Výsledok“ & str (a)

Znak & (+) znamená zreťazenie dvoch reťazcových premenných.

Funkcia formátovania

Kvôli prehľadnosti sa pri zobrazovaní výsledkov často používa funkcia Format, ktorá vracia hodnotu typu Variant (String) obsahujúcu výraz formátovaný podľa pokynov v popise formátu.

Syntax

Formát (Výraz [, Formát [, FirstDayOfWeek [, FirstWeekOfYear]]]]

Požadovaný výraz - formátovanie akéhokoľvek platného výrazu.

Formát - voliteľný argument - ľubovoľný platný pomenovaný alebo používateľom definovaný formátový výraz (šablóna formátu).

Pri formátovaní čísel bez zadania šablóny formátu produkuje funkcia Format rovnaký výsledok ako funkcia Str, t.j. vráti reťazec predstavujúci číslo. Rozdiel je v tom, že pri prevode kladného čísla pomocou funkcie Format sa stratí medzera na začiatku reťazca (v mieste znaku čísla), ale pri prevode pomocou funkcie Str

Príklady šablón formátu používaných na vytváranie vlastných formátov pre číselné hodnoty

Vytlačiť Formát(6.789, "00.0000") "vráti 06,7890

Vytlačiť Formát(6.789, "##. 0000") "vráti 6,7890

1. Funkcia InputBox

Funkcia InputBox má nasledujúcu syntax:

Premenná = InputBox(Prompt [, Title] [, default] [, Xpos] [, Ypos] [, help_file, content])

Táto funkcia vyžaduje iba požadovaný argument. Pozvánka Hodnota argumentu Pozvánka- jediným požadovaným argumentom tejto funkcie je textový reťazec, ktorý sa zobrazí vo vstupnom dialógovom okne ako správa. Tento text musí byť uzavretý v dvojitých úvodzovkách.

Hádka Nadpis

Hádka predvolené nastavuje hodnotu, ktorá sa štandardne zobrazuje vo vstupnom poli, kým používateľ nezadá svoju hodnotu. Ak tento argument vynecháte, vstupné pole sa zobrazí prázdne.

Voliteľné argumenty Xpos a Ypos nastavte polohu vstupného poľa na obrazovke. Argumenty súbor_pomoci a obsah

Návratová hodnota funkcie InputBox je hodnota, ktorú používateľ zadal do vstupného poľa.

2. Funkcia MsgBox

Okno so správou je vytvorené funkciou MsgBox, ktorá má nasledujúcu syntax:

Premenná = MsgBox(Prompt [, Buttons] [, Title [, help_file, content])

Hodnota argumentu Pozvánka- jediným požadovaným argumentom tejto funkcie je textový reťazec, ktorý sa v dialógovom okne zobrazí ako správa. Tento text musí byť uzavretý v dvojitých úvodzovkách. Všimnite si použitia zátvoriek v syntaxi MsgBox - naznačujú, že v tomto prípade je MsgBox funkciou, ktorá vracia určitú hodnotu. Ak sú zátvorky vynechané, tak pre VBA je to znak, že daný výraz nevracia hodnotu. Ak chcete vrátiť hodnotu, musíte použiť kód podobný nasledujúcemu:

Dim i As Integer

Výsledkom práce takého kódu vo VBA bude dialógové okno s tromi tlačidlami „Áno“, „Nie“, „Zrušiť“ a s ikonou výkričníka v žltom trojuholníku.

Ak nie je zadaný žiadny argument Gombíky potom VBA ponúka iba jedno tlačidlo OK. Hádka Gombíky umožňuje ovládať nasledujúce parametre poľa so správou:

¨ Počet tlačidiel v okne.

¨ Typy tlačidiel a umiestnenie x v okne.

¨ Ikony zobrazené v okne.

¨ Ktoré tlačidlo je predvolene priradené.

¨ Režim (modalita) okna so správou.

Tabuľka 1 ukazuje možné nastavenia tohto argumentu. Prvá skupina hodnôt nastavuje počet a typ tlačidiel. Druhý vám umožní vybrať ikonu zobrazenú v okne. Tretí priraďuje predvolené tlačidlo. Štvrtá skupina nastavuje režim schránky správ. Na vytvorenie konečnej hodnoty argumentu Gombíky z každej skupiny môžete použiť iba jednu hodnotu tak, že ich spojíte so znamienkom plus.

Skupina Konštantný Význam Popis
Skupina 1 vbOKOnly Zobrazí iba tlačidlo OK (predvolené nastavenie)
VbOKCancel Zobrazí tlačidlá OK a Zrušiť
VbAbortRetryIgnore Zobrazuje tlačidlá Zastaviť, Opakovať a Preskočiť.
VbYesNoCancel Zobrazí tlačidlá Áno, Nie a Zrušiť
vbÁno Nie Zobrazí tlačidlá Áno a Nie
VbRetryCancel Zobrazí tlačidlá Znovu a Zrušiť
Skupina 2 VbCritical Zobrazí ikonu zákazu
VbQuestion
VbVyhlásenie Zobrazí výstražnú ikonu
VbInformácie Zobrazí informačnú ikonu
Skupina 3 VbDefaultButton1 Prvé tlačidlo je predvolené
VbDefaultButton2 Druhé tlačidlo je predvolené
VbDefaultButton3 Tretie tlačidlo je predvolené
VbDefaultButton4 Štvrté tlačidlo je predvolené
Skupina 4 VbApplicationModal Režim aplikácie: používateľ musí pred pokračovaním v práci v aktuálnej aplikácii zatvoriť okno so správou
VbSystemModal Systémový režim: všetky aplikácie nie sú k dispozícii, kým používateľ nezatvorí okno so správou
Dodatočná skupina vbMsgBoxHelpButton Zobrazí tlačidlo Pomocník
vbMsgBoxSetForeground Nastaví okno so správou do popredia
vbMsgBoxRight Zobrazí okno so správou zarovnané s oknom aplikácie
vbMsgBoxRtlReading V prípade hebrejčiny a arabčiny určuje, že text sa má zobrazovať sprava doľava.

Tab. 1. Nastavenie argumentu Gombíky Funkcie MsgBox

Aby nedošlo k omylu pri zadávaní hodnôt argumentov Gombíky, použite zoznam konštánt, ktorý sa zobrazí po zadaní znamienka „+“. Znak „+“ sa používa na kombináciu viacerých konštánt pri zadávaní zložitého argumentu Gombíky.

Hádka Nadpis slúži na nastavenie textu, ktorý sa zmestí do záhlavia vstupného okna. Ak tento argument nie je zadaný, v záhlaví sa zobrazí Microsoft Excel.

Argumenty súbor_pomoci a obsah sa používajú, ak si pre svoju aplikáciu vytvoríte vlastný systém pomoci.

Tabuľka 2 zobrazuje zoznam hodnôt vrátených funkciou MsgBox. . Návratová hodnota závisí od tlačidla, ktoré používateľ stlačil.

Návratová hodnota Tlačidlo
OK
Zrušenie
Prestaň
Opakujte
Preskočiť
Áno
Nie

Tab. 2. Hodnoty vrátené funkciou MsgBox

Najlepší typ Návratná premenná MsgBox je celé číslo.

Objekty dosahu a buniek

Vo VBA sú bunky pracovného hárka považované za objekt rozsahu. Toto je najčastejšie používaný predmet.

Objekt Range používa pri práci s bunkami formát A1.

Formát A1. Odkaz pozostáva z názvu stĺpca (označeného písmenami A až IV, maximálne 256 stĺpcov) a čísla riadka (1 až 65536). Napríklad A77. Aby sa odkazovalo na rozsah buniek, uvádzajú sa adresy buniek vľavo hore a vpravo dole, oddelených dvojbodkou. Napríklad B10: B20, 7: 7 (všetky bunky v 7. rade), 5:10 (všetky bunky medzi 5. a 10. riadkom vrátane), D: D (všetky bunky v stĺpci D), H: J (všetky bunky medzi stĺpcami H a J vrátane). Absolútna referencia je označená znakom dolára pred názvom riadka alebo stĺpca.

Objekt Cells používa pri práci s bunkami formát R1C1.

Formát R1C1... Vo formáte R1C1 je za písmenom „R“ uvedené číslo riadka bunky, za písmeno „C“ - číslo stĺpca. Napríklad absolútna referencia R1C1 je ekvivalentom absolútnej referencie $ A $ 1 pre formát A1. Na nastavenie relatívnej referencie je zmes špecifikovaná vzhľadom na aktívnu bunku. Miešanie je uvedené v hranatých zátvorkách. Značka označuje smer odsadenia. Napríklad R [-3] C (relatívny odkaz na bunku o tri riadky vyššie v tom istom stĺpci). RC (relatívny odkaz na bunku o dva riadky nižšie a dva stĺpce napravo). R2C2 (absolútny odkaz na bunku umiestnenú v druhom rade a v druhom stĺpci). R [-1] (relatívny odkaz na riadok nad aktuálnou bunkou), R (absolútny odkaz na aktuálny riadok).

Celá adresa bunky môže obsahovať aj meno pracovníka a adresu knihy. Znak „!“ Je umiestnený za názvom listu a adresa knihy je vložená do hranatých zátvoriek. Napríklad: [Kniha1.xls] List5! D $ 2.

Objekt Range môže byť:

§ samostatná bunka;

§ vybraný rozsah buniek;

§ niekoľko vybraných rozsahov buniek (t.j. súbor nesúvislých rozsahov);

§ riadok a stĺpec;

§ trojrozmerný rozsah (t. J. Pozostávajúci z rozsahov umiestnených na rôznych pracovných listoch).

Vlastnosti objektu rozsahu a buniek

Vlastnosti Popis a povolené hodnoty
Hodnota Vráti hodnotu z bunky alebo rozsahu (do bunky alebo rozsahu): X = rozsah („A1“). Rozsah hodnôt („A1“). Hodnota = 10
názov Vráti názov rozsahu: Rozsah („B1: B4“). Názov = „Aplikácia“
Adresa Vráti aktuálnu pozíciu rozsahu
Gróf Vráti počet buniek v rozsahu
Ofset Vráti hodnotu posunu jedného rozsahu voči druhému
Zmeniť veľkosť Umožňuje zmeniť aktuálny výber rozsahu
CurrentRegion Vráti aktuálny rozsah obsahujúci zadanú bunku a oddelený prázdnym riadkom a stĺpcom.
Obtekanie textu True (False) - Umožňuje (nepovoľuje) zalamovanie textu pri zadávaní rozsahu.
EntireColumn, EntireRow Vráti riadok a stĺpec.
Šírka stĺpca, Výška riadka Vráti šírku stĺpca a výšku riadka rozsahu.
Písmo Vráti objekt písma. Napríklad: S pracovnými listami („Z3“). Rozsah („F10“). Písmo .Veľkosť = 22. Tučné = True .Italic = Skutočný koniec s
Vzorec Vzorec vo formáte A1. Takto napríklad môžete zadať vzorec do bunky C2: Rozsah („C2“). Vzorec = ”= $ B $ 2 + $ A $ 2”
FormulaLocal Vzorec vo formáte A1 s prihliadnutím na jazyk používateľa (pre neanglické verzie programu Excel). Napríklad: Rozsah („C1“). FormulaR1C1 = „= PI ()“
Formula R1C1 Vzorec vo formáte R1C1. Napríklad rozsah („C1“). FormulaR1C1 = „= R1C1 + 2“
FormulaR1C1 Miestny Vzorec vo formáte R1C1 s prihliadnutím na jazyk používateľa (pre neanglické verzie programu Excel).
Horizontálne zarovnanie Horizontálne zarovnanie. Možné hodnoty: xlHAlignGeneral (normálne), xlHAlignCenter (stred), xlHAlignCenterAcrossSelection (stred výberu), xlHAlignJustify (šírka), xlHAlignRight (vpravo), xlHAlignLeft (vľavo) a ďalšie.
Zvislé zarovnanie Zvislé zarovnanie. Možné hodnoty: xlVAlignBottom (dole), xlVAlignCenter (v strede), xlVAlignTop (hore) a ďalšie.

Objektové metódy dosahu a buniek

Metódy Akcie
Adresa Vráti adresu bunky.
Automatické prispôsobenie Automaticky upravuje šírku stĺpca a výšku riadka. Napríklad: Rozsah („B1: B3“). Stĺpce. AutoFit V tomto prípade je potrebné použiť vlastnosť Stĺpce alebo Riadky, pretože hodnotou rozsahu musia byť riadky alebo stĺpce, inak sa vygeneruje chyba.
jasný Vymaže rozsah. Napríklad: Rozsah („B1: B20“). Vymazať
Kopírovať Skopíruje rozsah do iného rozsahu alebo schránky (ak nie je zadaný parameter Cieľ). Napríklad takto môžete skopírovať hodnoty rozsahu z jedného listu (L1) do druhého (L2): pracovné listy („Z1“). Rozsah („D1: D5“). Cieľ kopírovania: = pracovné listy („P2“ Rozsah. („D5“)
Vystrihnúť Skopíruje rozsah s vymazaním (vystrihnutím) do iného rozsahu alebo schránky (ak nie je zadaný parameter Cieľ). Skopírujme napríklad rozsah buniek a odstráňte ich do schránky: pracovné listy („List1“). Rozsah („D1: E5“). Vystrihnúť
Vymazať Odstráni rozsah. Parameter Shift určuje smer posunu buniek pri odstraňovaní. Napríklad: Rozsah („B6: D6“). Odstrániť Shift: = xlShiftToLeft
Vložiť Vloží bunku alebo rozsah buniek. Môžete napríklad vložiť riadok pred šiesty riadok na hárok „List2“: pracovné listy („List2“). Riadky (6). Vložiť
Vyberte Vyberá rozsah: Rozsah („A1: C7“). Vyberte

Objektové metódy rozsahu a buniek, ktoré implementujú príkazy programu Excel

Metódy Akcie
DataSeries Vytvára postup. Séria údajov (riadok, dátum, krok, zastavenie, trend) Ručná metóda sa vykonáva pomocou príkazu Upraviť \ Vyplniť \ Progresia
AutoFill Automatické dopĺňanie. Automaticky vyplní bunky rozsahu prvkami sekvencie: Objekt (Rozsah, Typ).
AutoFilter Automatický filter. Implementuje požiadavku na filtrovanie údajov v hárku: Object.AutoFilter (pole, podmienka1, operátor, podmienka2) Zodpovedá príkazu Data \ Filter \ AutoFilter.
AdvancedFilter Rozšírený filter. Zodpovedá príkazu Data \ Filter \ Advanced Filter.
Konsolidovať Skombinujte údaje z viacerých rozsahov do jednej súhrnnej tabuľky. Zodpovedá príkazu Data \ Consolidation.
Nájsť Vyhľadajte údaje. Ručne sa volá príkazom Upraviť \ Hľadať.
TblGoalSeek Voľba parametra. Vykonáva sa ručne pomocou príkazu parameter Service \ Select.
Zoradiť Triedenie údajov. Ručne vykonávané pomocou príkazu Data \ Sort
Medzisúčet Sčíta medzisúčty. Volá sa ručne príkazom Data \ Subtotals.

Poznámka ... Zvlášť treba poznamenať, že vo VBA (na rozdiel od Excelu) sa operácia priradenia vykonáva bez ohľadu na stav bunky a nemení ju. Títo. na priradenie hodnoty k bunke (alebo na získanie jej hodnoty) nie je vôbec potrebné, aby bola táto bunka aktívna (pamätajte na to, že v programe Excel pred jej zadaním do bunky musí byť aktivovaná) sa neaktivuje (ak to tak nebolo predtým) a po priradení k nej akejkoľvek hodnoty.

  • V procese zobrazovania znaku na obrazovke počítača sa vykonáva spätné prekódovanie, to znamená, že binárny kód znaku sa prevedie na jeho obraz.
  • Akýkoľvek postup pozostáva z troch častí: vstup, vykonanie a výstup. Vstup - toto sú informácie potrebné na dokončenie postupu; výkon - toto sa stalo v dôsledku postupu.

    Vlastnosti objektu, hodnoty buniek a hodnoty premenných predstavujú všetky vstupné príklady. Vstupné údaje je možné získať počas vykonávania postupu od používateľa. To sa nazýva vstup užívateľa.

    Najjednoduchšou formou zadávania údajov používateľom je kliknutie na tlačidlo v okne so správou. Trochu komplikovanejšie je zadanie jednej hodnoty do vstupného poľa dialógového okna.

    4.1.1 Okno so správou

    Pomocou okna so správou funkcie MsgBox () môžete položiť otázku a potom v závislosti od odpovede vykonať jednu alebo inú akciu.

    Funkcia MsgBox () má päť argumentov:

    MsgBox (Prompt: = [, Buttons: =] [, Title: =] [, HelpFile: =, Context: =])

    Argument Prompt určuje správu, ktorá sa zobrazí v dialógovom okne. Napíšte svoj text (do úvodzoviek). Použite premennú typu reťazec alebo zjednotený reťazcové premenné a reťazce s &, napríklad:

    „Táto obrazovka má vysokú“ & AppIication.UsableHeight & „points“

    Argument Tlačidlá určuje, ktoré tlačidlá sa zobrazia v okne so správou. Zadajte ich pomocou konštánt, ako sú vbExclamation alebo vbOK. VBA predstavuje tieto konštanty ako čísla. Aj keď namiesto konštánt môcť Na reprezentáciu tlačidiel používajte čísla, ale odporúčame používať konštanty, pretože vám to poskytne ľahko čitateľný kód. Parametre argumentu Button je možné rozdeliť do niekoľkých skupín. Dve najdôležitejšie sú piktogramy a tlačidlá. Do poľa so správou môžete umiestniť štyri typy ikon a šesť typov tlačidiel. Ďalšie možnosti určujú, ktoré tlačidlo sa predvolene stlačí a ktorá aplikácia sa pozastaví, keď sa zobrazí dialógové okno - iba Excel alebo všetky aplikácie všeobecne. V tabuľke 4.1 sú uvedené tieto parametre.

    Tabuľka 4.1 - Hodnoty konštanty argumentu Button pre funkciu MsgBox

    Konštantný Význam Popis
    VbOKonly Zobrazí tlačidlo OK
    VbOKCancel Zobrazuje tlačidlá OK a Zrušenie
    VbAbortRetryIgnore Zobrazuje tlačidlá Zastav, Redo a Ignorovať
    VbYesNoCancel Zobrazuje tlačidlá Nie naozaj a Zrušenie
    VbYesNo Zobrazuje tlačidlá Áno a Nie
    VbRetryCancel Zobrazuje tlačidlá Opakujte a Zrušenie
    VbCritical Zobrazí ikonu kritickej správy
    VbQuestion Zobrazí ikonu otáznika
    VbVyhlásenie Zobrazí ikonu výkričníka
    VbInformácie Zobrazí ikonu Informácie
    VbDefaultButton1 Štandardne prijíma prvé tlačidlo
    VbDefaultButton2 Štandardne akceptuje druhé tlačidlo
    VbDefaultButton3 Štandardne prijíma tretie tlačidlo
    VbApplicationModal Excel prestane fungovať pri zatváraní okna so správou
    VbSystemModal Všetky aplikácie sú pozastavené, kým sa nezatvorí okno so správou

    Ak chcete v okne správy zobraziť niekoľko tlačidiel, spojte konštanty so znamienkom plus. V okne so správou nemôžete zobraziť dve ikony, ale môcť ovládajte ikonu aj typ tlačidiel, ktoré sa zobrazujú. Okno so správou sa vždy zobrazuje iba v strede obrazovky. Ak nie je zadané žiadne iné tlačidlo, v okne správy sa zobrazí iba tlačidlo OK.

    Argument Názov určuje názov poľa správy. Rovnako ako Prompt, tento argument musí byť reťazec, reťazcová premenná alebo zreťazenie reťazcov a reťazcových premenných. Tento argument môžete vynechať. V takom prípade bude predvolený názov poľa so správou Microsoft Excel.

    Ak chcete zadať aktuálnu pomoc, použite štvrtý a piaty argument (alebo ich ignorujte). Argument HelpFile je názov súboru pomocníka a argument Context určuje jeho časť. Ak ste zadali jeden z týchto argumentov, musíte zadať druhý. Pri tom Excel automaticky pridá do okna správy tlačidlo Pomocníka.

    Nasledujúci kód zobrazuje dve polia so správami: prvé s názvom - „System_inform“ - obsahuje ikonu s výkričníkom a správu o použitej výške obrazovky; druhý s názvom - „Informácie o systéme“ - obsahuje správu o použitej šírke obrazovky.

    Sub ShowMessageOK ()

    MsgBox Prompt: = "Výška tejto obrazovky je" _

    & Application.UsableHeight & "points", Buttons: = vbExclamation, Title: = "System_inform"

    MsgBox „Šírka tejto obrazovky“ a aplikácia.UsableWidth & _

    "body", vbInformácie, "Informácie o systéme"

    4.2 Rozhodovanie

    Je veľmi jednoduché zobraziť niekoľko tlačidiel na obrazovke: použite konštanty uvedené v tabuľke 3.1. Polia správ môžete zobraziť pomocou tlačidiel Áno a Nie, tlačidiel Áno, Nie a Zrušiť a tlačidiel Zastaviť, Znova, Ignorovať. Po analýze hodnoty vrátenej funkciou MsgBox (tabuľka 4.2) v kóde môžete určiť, ktoré tlačidlo je stlačené, a nasmerovať spustenie programu po požadovanej ceste.

    Tabuľka 4.2 - Hodnoty vrátené funkciou MsgBox

    Konštantný Význam Stlačené tlačidlo
    VbOK OK
    VbCansel Zrušenie
    VbAbort Prerušiť
    VbRetry Opakujte
    VbIgnorovať Preskočiť
    VbÁno Áno
    VbNo Nie

    Nasledujúci príklad kódu zobrazuje okno so správou s tlačidlami Áno a Nie. Ak používateľ klikne na tlačidlo Áno, zobrazí sa ďalšie okno so správou „Pokračovať ...“. Ak používateľ klikne na Nie, zobrazí sa správa „Proces bol prerušený“. Druhý argument používa vbQuestion plus vbYesNo: pole so správou bude obsahovať otáznik a tlačidlá Áno a Nie.

    Sub Vopros Áno Nie ()

    Dim Indik ako celé číslo

    Indik = MsgBox („Chcete pokračovať?“, VbQuestion + vbYesNo, „otázka používateľovi“)

    Ak Indik = vbYes Then

    MsgBox „Pokračuje ...“, VbInformation, „Systémová správa“

    MsgBox „Proces ukončený“, vbCritical, „Systémová správa“

    Tento príklad kódu ukazuje dva spôsoby použitia funkcie MsgBox. V prvom prípade sú zátvorky umiestnené hneď za slovo MsgBox a za tretí argument. To znamená, že sa použije návratová hodnota funkcie MsgBox. Nasledujúce dve funkcie nepoužívajú návratovú hodnotu, takže neexistujú žiadne zátvorky. Tlačidlá umiestnené v okne so správou určujú návratovú hodnotu. Návratová hodnota funkcie MsgBox je konštanta, ktorá začína vb a končí slovom napísaným na tlačidle, napríklad OK alebo Storno. Ak pole so správou obsahuje tlačidlá Áno a Nie, potom funkcia MsgBox vráti hodnotu vbYes alebo vbNo.

    V tomto kóde sa premenná Indik rovná výsledku funkcie MsgBox. Príkaz If skontroluje, či sa Indik rovná vbYes; ak áno, podnikne potrebné opatrenia.

    4.3 Vstupné okno

    Funkcia InputBox () je o niečo zložitejšia ako MsgBox () a umožňuje vám zadať skutočnú hodnotu alebo textový reťazec. Pretože InputBox () prijíma hodnotu, nemá zmysel používať ho bez použitia vstupnej hodnoty. Preto je táto funkcia vždy napísaná v zátvorkách.

    Funkcia InputBox () môže obsahovať až sedem argumentov:

    InputBox (výzva [, názov] [, predvolené] [, xpos] [, ypos] [, súbor pomoci, kontext])

    Vyžaduje sa iba prvý - výzva, ktorá označuje správu v okne. Druhým je Titul.

    Tretia je predvolená hodnota vstupného poľa. Štvrtý a piaty argument označujú polohu vstupného poľa. Ak sú preskočené, okno bude umiestnené v strede obrazovky.

    Šiesty a piaty argument identifikujú súbor pomocníka a jeho časť. Ak použijete jeden z nich, musíte použiť aj druhý. Excel potom do vstupného poľa pridá tlačidlo Pomocník.

    Funkcia InputBox () vždy vráti reťazec. Aj keď používateľ zadá číslo, v skutočnosti ide o reťazec. VBA vo väčšine prípadov prevádza reťazec na číslo. Niekedy je však preklad nesprávny. V takom prípade musíte návratovú hodnotu previesť na iný typ údajov. Na tento účel použite jednu z prekladateľských funkcií, napríklad funkciu Cint (hodnota), ktorá prevedie vrátenú hodnotu na celé číslo.

    Kliknutím na tlačidlo Zrušiť očakávate, že návratovou hodnotou bude vbCancel. Nie je to však pravda. Pretože InputBox () vracia reťazec, kliknutím na tlačidlo Zrušiť sa vráti prázdny riadok(sada úvodzoviek - ""). Uvažujme nasledujúci príklad, ak nie je nič zadané (prázdny riadok), podprogram sa ukončí.

    Sub Vvod_lnputBox ()

    Dim s As String, neskutočné As Single

    s = InputBox (výzva: = „Aký je plat?:“, _

    Názov: = "Otázka", predvolené: = 550)

    If s = "" Then Exit Sub

    neskutočné = CSng (s)

    MsgBox „Plat je“ & s & „dane“ & neskutočné * 0,13

    Niekedy je potrebné, aby používateľ zadal iba konkrétny typ údajov. V tomto prípade použite namiesto funkcie InputBox () metódu InputBox (). Vložením Aplikácie. Pred InputBox () poviete VBA, aby používal metódu InputBox () programu Excel, nie funkciu VBA. Metóda InputBox () má tiež ôsmy argument, Type. Zadaním typu požadujete (od používateľa), aby ste zadali iba konkrétny typ údajov. Ak chcete povoliť vstup viacerých dátových typov, pridajte hodnoty rôznych dátových typov. Ak však používate metódu InputBox (), kliknutím na tlačidlo Zrušiť sa vráti hodnota False, nie prázdny reťazec.

    4.4 I / O s bunkami programu Excel

    Objekt ActiveCell je možné efektívne použiť na zadávanie počiatočných údajov z konkrétnych buniek pracovného hárka programu Excel a tiež na výstup výsledkov výpočtu do buniek. Objekt Range sa používa na špecifikovanie buniek. Objekt ActiveCell ukazuje na bunku (alebo objekt Rozsah), ktorá je zameraná počas vstupu z klávesnice. Na to slúži vlastnosť Value. Napríklad do bunky s adresou A5 musíte napísať hodnotu premennej Rost:

    Rozsah („A5“). Vyberte

    ActiveCell.Value = Rost

    Opačný postup je podobný:

    Rost = ActiveCell.Value

    Ak je potrebné načítať veľký počet údajov z rôznych buniek, ktorých adresy je možné vypočítať, odporúča sa použiť metódu Offset (R, C), kde R je posun riadkov R smerom nadol vzhľadom na riadok aktívna bunka, C je posun C stĺpcov napravo od stĺpca aktívnej bunky ... Nasledujúci riadok napríklad zapíše hodnotu Rost do bunky B7.