• Užitečné programy pro Excel a VBA. Základy programování ve VBA

    Následující jednoduché příklady maker aplikace Excel ilustrují některé funkce a techniky popsané ve výukovém programu Excel VBA.

    Příklad makra Excel 1

    Zpočátku tento postup Sub byl uveden jako příklad použití komentářů v kódu VBA. Zde však můžete také vidět, jak se deklarují proměnné, jak fungují odkazy na buňky Excelu, použití smyčky Pro, podmíněný operátor Li a zobrazení okna se zprávou.

    "Procedura Sub hledá buňku obsahující daný řetězec "v oblasti buněk A1:A100 aktivního listu Sub Find_String(sFindText As String) Dim i As Integer "Integer, použité v For Dim iRowNumber As Integer" Celé číslo pro uložení výsledek iRowNumber = 0 "Prohledává buňky A1:A100 jednu po druhé, dokud nenajde řetězec sFindText For i = 1 až 100 If Cells(i, 1).Value = sFindText Then "Pokud je nalezena shoda s daným řetězcem " uložit číslo aktuální linka a odejít Pro smyčku iRowNumber = i Exit For End If Next i "V vyskakovacím okně řekneme uživateli, zda je hledaný řetězec nalezen "Pokud je daný řetězec nalezen, označte, ve které buňce je nalezena shoda If iRowNumber = 0 Then MsgBox "String " & sFindText & " nenalezeno" Else MsgBox " Řetězec " & sFindText & " nalezen v buňce A" & iRowNumber End If End Sub

    Příklad makra Excel 2

    Další postup Sub- příklad použití smyčky Dělat, zatímco. Zde můžete také vidět, jak jsou deklarovány proměnné, pracovat s odkazy na buňky Excelu a jak aplikovat podmíněný operátor. Li.

    "Podprocedura vydává Fibonacciho čísla nepřesahující 1000 Sub Fibonacci() Dim i As Integer "Počítadlo pro označení pozice prvku v sekvenci Dim iFib As Integer "Uloží aktuální hodnotu sekvence Dim iFib_Next As Integer "Uloží další hodnotu sekvence Dim iStep As Integer " Uloží velikost dalšího přírůstku "Inicializovat proměnné i a iFib_Next i = 1 iFib_Next = 0 "Smyčka Do While bude prováděna, dokud hodnota "aktuálního Fibonacciho čísla" nepřekročí 1000 Do While iFib_Next< 1000 If i = 1 Then "Особый случай для первого элемента последовательности iStep = 1 iFib = 0 Else "Сохраняем размер следующего приращения перед тем, как перезаписать "текущее значение последовательности iStep = iFib iFib = iFib_Next End If "Выводим текущее число Фибоначчи в столбце A активного рабочего листа "в строке с индексом i Cells(i, 1).Value = iFib "Вычисляем следующее число Фибоначчи и увеличиваем индекс позиции элемента на 1 iFib_Next = iFib + iStep i = i + 1 Loop End Sub

    Příklad makra Excel 3

    Tento postup Sub skenuje buňky sloupce A aktivní list, dokud nenarazí na prázdnou buňku. Hodnoty se zapisují do pole. Toto jednoduché Excelové makro ukazuje, jak s ním pracovat dynamická pole, stejně jako pomocí smyčky Do dokud. V tomto příkladu nebudeme s polem provádět žádné akce, i když v reálné programátorské praxi se na nich po zápisu dat do pole obvykle takové akce provádějí.

    "Procedura Sub ukládá hodnoty buněk sloupce A aktivního listu do pole Sub GetCellValues() Dim iRow As Integer "Uložte číslo aktuálního řádku Dim dCellValues() As Double "Pole pro ukládání hodnot buněk ​​iRow = 1 ReDim dCellValues(1 To 10) "Do Loop Before iteruje přes buňky sloupce A aktivního listu" a extrahuje jejich hodnoty do pole, dokud nenarazí na prázdnou buňku Do Until IsEmpty(Cells(iRow, 1)) "Zkontrolujte, zda má pole dCellValues ​​dostatečnou velikost" o 10 pomocí ReDim If UBound(dCellValues)< iRow Then ReDim Preserve dCellValues(1 To iRow + 9) End If "Сохраняем значение текущей ячейки в массиве dCellValues dCellValues(iRow) = Cells(iRow, 1).Value iRow = iRow + 1 Loop End Sub

    Příklad makra Excel 4

    V tomto příkladu postup Subčte hodnoty ze sloupce A pracovní list List2 a vystupuje s nimi aritmetické operace. Výsledky se zapisují do buněk sloupce A na aktivním listu. Toto makro ukazuje použití objektů aplikace Excel. Zejména se používá postup Sub k objektu sloupců a ukazuje, jak se k tomuto objektu přistupuje prostřednictvím objektu Pracovní list. Je také ukázáno, že při odkazu na buňku nebo oblast buněk na aktivním listu není nutné při psaní odkazu uvádět název tohoto listu.

    "Procedura Sub prochází hodnoty ve sloupci A listu List2, "provádí aritmetické operace s každou hodnotou a zapisuje výsledek do sloupce A aktivního listu (Sheet1) Sub Transfer_ColA() Dim i As Integer Dim Col As Rozsah Dim dVal As Double "Přiřadit proměnné Col sloupec A listu List 2 Set Col = Sheets("Sheet2").Columns("A") i = 1 "Pomocí smyčky čtěte hodnoty buněk sloupce Col, dokud "je nalezena prázdná buňka Do Until IsEmpty(Col.Cells(i)) "Proveďte aritmetické operace s hodnotou aktuální buňky dVal = Col.Cells(i).Value * 3 - 1 "Následující příkaz zapíše výsledek do sloupec A aktivního listu není potřeba, protože se jedná o aktivní list Cells(i, 1) = dVal i = i + 1 Loop End Sub

    Příklad makra Excel 5

    Toto makro ukazuje příklad kódu VBA, který naslouchá události aplikace Excel. Událost, ke které je makro vázáno, nastane pokaždé, když je na listu vybrána buňka nebo oblast buněk. V našem případě při výběru buňky B1, zobrazí se okno se zprávou.

    "Tento kód zobrazí okno se zprávou, pokud je v aktuálním listu vybrána buňka B1. Private Sub Worksheet_SelectionChange(ByVal Target As Range) "Zkontrolujte, zda je vybrána buňka B1 Pokud Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Poté "Pokud je vybrána buňka B1, proveďte požadovanou akci MsgBox "Vybrali jste buňku B1" End If End Sub

    Příklad makra Excel 6

    Příklad tohoto postupu ukazuje použití operátorů Při chybě A souhrn pro řešení chyb. Tento kód také ukazuje příklad otevírání a čtení dat ze souboru.

    "Procedura Sub přiřadí argumentům Val1 a Val2 hodnoty buněk A1 a B1 "z pracovní sešit Data.xlsx umístěný v C:\Documents and Settings Sub Set_Values ​​(Val1 As Double, Val2 As Double) Dim DataWorkbook As Workbook On Error Přejít na ErrorHandling "Otevírání datového sešitu Set DataWorkbook = Workbooks.Open("C:\Documents and Settings\Data ") "Přiřazení hodnot proměnných Val1 a Val2 ​​z daného sešitu Val1 = Sheets("Sheet1").Cells(1, 1) Val2 = Sheets("Sheet1").Cells(1, 2) DataWorkbook.Close Exit Sub ErrorHandling: "Pokud soubor není nalezen, uživatel bude vyzván k umístění hledaného souboru "do požadovanou složku a poté pokračujte ve spouštění makra MsgBox "Soubor Data.xlsx nenalezen!" & _ "Přidejte sešit do složky C:\Documents and Settings a klikněte na tlačítko OK" Resume End Sub

    Cíl práce - Naučit se základní operátory a implementovat základní programovací konstrukce v jazyce VBA.

    4.1 Hlavní fáze práce s programy vba v Excelu

    Chcete-li připravit a spustit program VBA, musíte provést následující:

      v Excelu vyberte příkaz z nabídky Služba - Makro - EditorVizuálníZákladní;

      v okně, které se objeví, vyberte příkaz z nabídky Vložitmodul. Vytvoří se modul, tedy zjednodušeně řečeno se otevře okno, do kterého můžete zadat text programu.

    Instrukce může být specifikována na začátku modulu VolbaExplicitní. Pokud je zadán, pak bude nutné v příkazu deklarovat všechny proměnné použité v programu. Ztlumit(Více o tom viz část 4.3).

    V některých případech, v závislosti na tom, jak je nastaveno prostředí VBA, příkaz VolbaExplicitní je specifikováno na začátku modulu automaticky. Pokud si programátor přeje použít proměnné, aniž by je deklaroval v příkazu Ztlumit, pak pokyn VolbaExplicitní musí být odstraněny.

    Chcete-li spustit program ke spuštění, vyberte příkaz z nabídky Spustit – Spustit Sub/UserForm.

    4.2 Nejjednodušší příklad programu vba

    Příklad 4.1- Program, který zvyšuje zadané číslo A do určeného stupně b.

    Dim a As Single, b As Single

    a = InputBox("Zadejte základ: ")

    b = InputBox(“Zadejte exponent:”)

    x = a^b ‘Umocnění

    MsgBox("Výsledek je " & x)

    Tady je slovo Sub označuje začátek postupu; její jméno v tento případzákladní nátěr4_1 . Program VBA se vždy skládá z jedné nebo více procedur (v tomto případě jedné).

    Znak ‘ (jednoduchá uvozovka) označuje začátek komentáře. Text komentáře může být jakýkoliv.

    Ztlumit je operátor deklarace proměnné. V tomto případě je uvedeno, že proměnné A A b jsou typu Singl. těch. mohou být jak celá, tak zlomková čísla. Datové typy a deklarace proměnných budou podrobněji popsány v části 4.3.

    InputBox– funkce pro zadání hodnoty proměnné. Čára A = InputBox(„Zadejte základnu:”) znamená, že je zadána hodnota proměnné A; na obrazovce se zobrazí zpráva "Vstoupit na základnu:". Čára X = A^ b– operátor přiřazení: vypočítá se hodnota pravé strany (v tomto případě proměnná A povýšen k moci b) a výsledek je přiřazen proměnné uvedené na levé straně (v tomto případě proměnné X). Čára MsgBox("Výsledek je " &X) znamená, že se na obrazovce zobrazí zpráva "Výsledek je " a hodnotu proměnné X.

    Poznámka - Sign & ve funkci MsgBox je navržen pro zřetězení několika datových prvků, které je třeba zobrazit, v tomto příkladu řetězců "Výsledek je stejný" a variabilní X. podobné znamení & lze použít ve funkci InputBox(Příklady takového použití budou uvedeny níže). Před znamením & a za ním musí být mezery.

    Na jeden řádek můžete umístit více příkazů jazyka VBA. K tomu jsou odděleny dvojtečkami. Program z příkladu 4.1 by tedy mohl být napsán například takto:

    „První ukázka programu VBA

    Dim a As Single, b As Single

    a = InputBox(“Zadejte základ: ”) : b = InputBox(“Zadejte exponent: ”)

    x = a^b: MsgBox(“Výsledek je” & x) ‘Umocnění a výstup výsledku

    V tomto příkladu je použita procedura zvaná podprogram. Tento postup začíná s Sub. Program VBA má vždy alespoň jednu proceduru podprogramu. Jazyk VBA má navíc další typ procedur – funkce. Funkční procedura začíná slovem funkce. Použití těchto postupů bude diskutováno v části 4.9.


    Rezervovat: Použití maker v Excelu.

    Stránky: 507

    Formát: DJVU
    Velikost: 8,02 Mb

    Navzdory výkonným funkcím, které poskytuje uživatelské rozhraní Excelu, existují některé úkoly, které lze provádět pouze programově. Kniha "Použití maker v Excelu" je úvodem do programování v Excelu VBA, obsahuje příklady řešení různých praktických problémů, které při práci v Excelu vznikají.Materiál knihy je určen uživatelům Excelu, ale i programátorům, kteří neznají objektový model Excelu. Spolu s částmi o vývoji maker pro Excel 2002 se jedná o úvodní kurz psaní maker a programů v prostředí Excelu.

    Rezervovat: Intenzivní víkendový kurz programování Excel

    Vydavatel: Dialektika
    Stránky: 421
    Formát: DJVU
    Velikost: 12,6 MB
    Kvalitní: Normální
    Jazyk: ruština
    Žánr: programování
    Rok vydání: 2004
    ISBN: 5-8459-0687-3

    Možnosti Microsoft Excel se neomezují pouze na práci s datovými tabulkami. Za tabulkovými nástroji stojí výkonný programovací jazyk – VBA (Visual Basic for Applications). Téměř každý uživatel má však možnost naučit se psát programy v jazyce VBA pro řešení nejrůznějších úloh v Excelu - od mechanického provádění výpočtů až po vytvoření systému zadávání dat s vlastními obrazovkovými formuláři a s pravděpodobností revize o správnosti zadávaných hodnot.

    Rezervovat: Programování ve VBA 2002

    Kvalitní: Normální
    Jazyk: ruština
    Žánr: programování

    Kniha obsahuje kurz programování ve Visual Basic for Applications (VBA), což je základní jazyk v aplikacích Microsoft Office(Word, Excel, Access, PowerPoint, FrontPage, Visio atd.). Kniha je určena začátečníkům k programování v prostředí Windows pomocí objektů Word-, Excel-, PowerPoint.Část knihy je věnována vývoji aplikací Office, které využívají databáze uložené v samostatné soubory a na vzdálených serverech.Materiál knihy je dostatečný k osvojení základů jazyka Visual Basic a vytváření jednoduchých maker, která pomáhají automatizovat rutinní opakovanou práci s dokumenty, tabulkami, diagramy, prezentacemi atd., stejně jako k vývoji poměrně složitých aplikací pro zpracování databází pomocí dialogu boxy, které uživateli poskytují nejmodernější nástroje rozhraní.Většina příkladů v knize je věnována aktuálním obchodním problémům, proto bude kniha pro manažery velmi užitečná. různé úrovně, který je zjevně určen jak pro Microsoft Office, tak pro vestavěný jazyk Programování VBA.
    Dodatky na konci knihy mohou posloužit jako praktický odkaz při práci s VBA i s běžným VB.

    Rezervovat: Profesionální programování VBA v Excelu 2003
    John Walkenbach
    Vydavatel: Williams
    Formát: PDF
    Velikost: 11 MB
    Kvalitní: Vynikající
    Jazyk: ruština
    Rok vydání: 2005
    ISBN: 5-8459-0771-3
    Kniha je dodávána s diskem.

    V Excelu bylo napsáno mnoho knih. Tato kniha je ale speciální – dívá se na vývoj tabulkových aplikací v širších souvislostech. VBA je pouze jednou složkou vývojového prostředí vlastní aplikace, i když docela významný. Tato kniha vám pomůže pochopit složitost vývoje aplikací pomocí VBA. Popisuje mnoho funkcí jazyka VBA, jeho možnosti a prostředí použití, nejprve vám bude nabídnut přehled možností programu, poté přejdete k definování pojmů programování VBA a následně se seznámíte s tzv. jazyk samotný. Pokud jste začínající programátor VBA, pak v této publikaci najdete všechny potřebné informace, které budou pro další práci potřeba. pokud již máte s VBA záviděníhodnou zkušenost, pak tato kniha obohatí a rozšíří vaše znalosti, doplní je o nové techniky a příklady ze skutečného života.

    Pdf verze upravena a s laskavým svolením .

    Rezervovat: :
    John Walkenbach
    Vydavatel: Wiley
    Formát: PDF
    Stránky: 1308
    Velikost: 11,9 MB
    Kvalitní: Vynikající
    Jazyk: Angličtina
    Rok vydání: 2010
    Tato kniha se zaměřuje na Visual Basic for Applications (VBA), programovací jazyk zabudovaný do Excelu (a dalších aplikací, které tvoří Microsoft Office). Přesněji vám ukáže, jak psát programy, které automatizují různé úkoly v Excelu. Tato kniha pokrývá vše od záznamu jednoduchých maker až po vytváření sofistikovaných uživatelsky orientovaných aplikací a nástrojů. Tato kniha se nevztahuje na společnost Microsoft vizuální studio Nástroje pro Office (VSTO). VSTO je relativně nová technologie, která využívá Visual Basic .NET a Microsoft Visual C#. VSTO lze také použít k ovládání Excelu a dalších aplikací Microsoft Office.
    Toto není kniha pro začínající uživatele Excelu. Pokud nemáte s Excelem žádné zkušenosti, může být lepší volbou Excel 2010 Bible, která poskytuje komplexní pokrytí všech funkcí Excelu. Tato kniha je určena uživatelům všech úrovní.

    Rezervovat: : Profesionální programování VBA v Excelu 2010
    John Walkenbach
    Vydavatel: Dialektika
    Formát: PDF
    Stránky:920
    Velikost: 22,1 MB
    Kvalitní: Vynikající
    Jazyk: ruština
    Rok vydání: 2010 Předmětem této knihy je programovací jazyk Visual Basic for Applications (VBA), který je zabudován do Excelu stejně jako do dalších aplikací obsažených v Excelu. Sestava Microsoftu kancelář. Podrobně popisuje tvorbu programů, které automatizují provádění různých úloh v Excelu, a také pokrývá celou řadu dalších témat – od psaní nejjednodušších maker až po vytváření nejsložitějších aplikací a utilit určených pro interakci uživatele. Tato kniha nepopisuje software balíček Microsoft Visual Studio Tools for Office (VSTO). Představuje ztělesnění nová technologie který používá Visual Basic .NET a Microsoft Visual C#. VSTO lze také použít k ovládání chování Excelu a dalších aplikací Microsoft Office.

    Tato kniha není určena pro začínající uživatele Excelu. Pokud s touto aplikací nemáte žádné zkušenosti, pak si nejprve přečtěte knihu Excel 2010 User's Bible, která podrobně popisuje všechny funkce Excelu (je určena uživatelům všech úrovní).


    Rezervovat:Výukový program VBA
    Garnajev A.
    Vydavatel: bhv
    Stránky: 512
    Formát: html s obrázky v rar
    ISBN: 5-8206-0067-3
    Velikost: 2,22 MB

    Vynikající

    Jazyk: Angličtina
    Rok vydání: 2009

    Microsoft Excel je mnohem víc než jen tabulka. Se zavedením editoru jazyka Visual Basic v Excelu 97, po kterém následovala výrazně zlepšená stabilita Excelu 2000, se Excel stal sám o sobě respektovanou vývojovou platformou. Aplikace Excel se nyní nacházejí vedle aplikací založených na C++, Javě a vývojové platformě .NET jako součást základní sady kritických podnikových aplikací.
    Bohužel je Excel stále příliš často považován za platformu pro nadšence, že lidé vyvíjejí aplikace Excel pouze ve svém volném čase, aby automatizovali drobné úkoly. Zdá se, že krátký pohled na mnoho knih Excel VBA tento názor potvrzuje. Tyto knihy se zaměřují na základy automatizace úloh aplikace Excel pomocí jazyka VBA. Tato kniha je první svého druhu, která poskytuje podrobné vysvětlení, jak používat Excel jako platformu pro vývoj aplikací v profesionální kvalitě.
    Zatímco se zdá, že většina ostatních hlavních vývojových platforem má de facto standardní text, který vysvětluje společně dohodnuté osvědčené postupy pro architekturu, navrhování a vývoj aplikací využívajících tuto platformu, Excel to doposud neměl. Tato kniha se snaží tuto mezeru vyplnit. Autoři jsou profesionální vývojáři Excelu, kteří vytvářejí aplikace založené na Excelu pro klienty od jednotlivců až po největší nadnárodní korporace. Tato kniha vysvětluje přístupy, které používáme při navrhování, vývoji, distribuci a podpoře aplikací, které píšeme pro naše klienty.
    Tuto knihu poskytl uživatel

    Krátce jsme se seznámili se záznamem makra pomocí rekordéru Excel. Nyní se ponoříme do této džungle a napíšeme pár jednoduchých maker jako příklad. Na jednom z příkladů si tradičně předvedeme práci s dialogovým oknem typu „Zpráva“, na druhém naše dialogové okno rozbalíme.

    Příklad 1: Jednoduchá dialogová zpráva msgBox ve VBA

    Nebudeme se odklánět od tradic počátku všech příkladů programování. Napišme makro, které nám po spuštění poskytne schránku se zprávou s nápisem „Hello World“. Zároveň zvažte práci s vlastními dialogy.

    Nyní budeme zapisovat makra pouze v manuální režim, žádné rekordéry!

    Chcete-li tedy vytvořit makro, musíte otevřít okno svého oblíbeného editoru Visual Basic (VB). Chcete-li to provést, proveďte následující kroky: Service-Macro-EditorVizuálníZákladní(Alt+F11).


    Otevře se okno editoru MS Visual Basic.

    Pokud nemáte levá okna, musíte je povolit. Chcete-li to provést, stiskněte F4 - Otevře okno vlastností VlastnostiOkna, a klávesová zkratka Ctrl + R - otevře okno projektbadatel. Bez těchto oken je v budoucnu obtížné pracovat. Všechno! Hotovo.

    Co vidíme v okně projekt? Toto okno odráží stejnou strukturu naší knihy. Knižní předměty - List1, 2, 3, Tato kniha. Tyto objekty budeme podrobněji studovat v dalších článcích, ale prozatím se vracím k příkladu.

    Co musíte udělat, abyste mohli začít psát kód? Musíte vytvořit modul. Poznámka: Obecně v budoucnu doporučuji kód handleru oddělit na různé moduly. To usnadní pochopení kódu a vytvoří ve struktuře pořádek.

    Vytvořte modul: Vložit modul

    Otevřelo se před námi prázdné okno modulu připomínající poznámkový blok. Takové okno jsme viděli už při nahrávání prvního makra v . Podle pravidel „slušných mravů“ pojmenujme náš modul, říkejme mu „ makrokniha". Chcete-li to provést, přejděte do okna vlastností a do pole zadejte název (název)

    Přejděte do okna pro úpravu kódu a napište následující:

    Připraveno! Otevření pracovního okna excelové knihy, lis Alt+F8 a podívejte se na naše makro "Ahoj"

    Zbývá jen " Běh". V důsledku makra obdržíme zprávu následující formy a obsahu:

    Příklad 2: Rozšířená dialogová zpráva msgBox ve VBA

    Zvažte jiný typ dialogových zpráv, které obsahují přídavná tlačítka"Ano", "Ne", "Zrušit"

    Přejdeme ke kódu našeho makra „Ahoj“ a přidáme k příkazu msgbox Následující:

    MsgBox"Ahoj, světe!", vbYesNoCancel, "Moje makro"

    Všimněte si, že když za "Hello, World!" vložíte čárku, měli byste mít seznam všech dostupných typů dialogových oken.

    Experimentujte s každým, abyste pochopili.

    Spusťte naše makro

    Nyní máme úplně jinou formu komunikace.

    To je prozatím vše. Zůstaňte naladěni na články a návody. V případě dotazů rád odpovím, případně napíšu článek s vysvětlením.

    Video: Příklad toho, jak funguje msgbox ve vba