• Efektivní práce v MS Office. Jak automatizovat rutinní úlohy v Excelu pomocí maker

    Práce s knihami

    Makro 1: Vytvořte nový sešit od začátku
    Makro 2. Při změně konkrétní buňky/rozsahu uložte sešit
    Makro 3: Uložte sešit před zavřením
    Makro 4: Ochrana listu v sešitu před zavřením
    Makro 5: Zrušte ochranu listu při otevírání souboru aplikace Excel
    Makro 6. Otevřete knihu na požadovaném listu
    Makro 7: Otevření konkrétního sešitu definovaného uživatelem
    Makro 8. Zjistěte, zda je kniha otevřená
    Makro 9. Zjistěte, zda ve složce existuje kniha
    Makro 10. Aktualizujte všechny odkazy v otevřených sešitech
    Makro 11. Zavřete všechny knihy najednou
    Makro 12. Otevřete všechny sešity ve složce
    Makro 13. Tisk všech knih ve složce
    Makro 14. Nenechávejte knihu zavřít, dokud není buňka plná
    Makro 15. Zálohujte aktuální sešit s dnešním datem

    Práce s listy

    Makro 16. Přidání nového listu a přiřazení názvu
    Makro 17. Odstraňte všechny listy kromě aktivního
    Makro 18. Skryjte vše kromě aktivního listu
    Makro 19. Zobrazte všechny listy knihy
    Makro 20: Přesouvání listů
    Makro 21. Třídění listů podle názvu
    Makro 22. Seskupit listy podle barvy karty
    Makro 23. Zkopírujte list do nového sešitu
    Makro 24: Vytvořte nový sešit pro každý list
    Makro 25 - Tisk listů
    Makro 26. Chraňte všechny listy
    Makro 27. Zrušte ochranu všech listů
    Makro 28: Vytvořte obsah
    Makro 29: Přiblížení listu dvojitým kliknutím
    Makro 30. Vyberte aktivní sloupec řádku

    Výběr a úprava rozsahů

    Makro 31: Výběr a formátování rozsahu
    Makro 32: Vytvořte a vyberte pojmenované rozsahy
    Makro 33. Iterace přes řadu buněk
    Makro 34: Výběr a formátování rozsahů
    Makro 35. Vložte prázdné řetězce do rozsahu
    Makro 36. Zobrazit všechny skryté řádky a sloupce
    Makro 37 – Odstraňte prázdné řádky
    Makro 38 – Odstraňte prázdné sloupce
    Makro 39: Výběr a formátování všech vzorců v sešitu
    Makro 40. Najděte a vyberte první prázdný řádek nebo sloupec
    Makro 41: Aplikujte sekundární barvu výplně
    Makro 42. Třídění rozsahů poklepáním
    Makro 43. Omezení rozsahu posouvání v dané oblasti
    Makro 44. Automaticky nastavte oblast tisku listu

    Práce s daty

    Makro 45: Zkopírujte a vložte rozsah
    Makro 46: Převeďte všechny vzorce v rozsahu na hodnoty
    Makro 47. Převeďte textové hodnoty na čísla
    Makro 48. Převeďte pomlčky na mínus
    Makro 49. Odstraňte nadbytečné mezery ze všech buněk v rozsahu
    Makro 50. Ořízněte levých 5 znaků v každé buňce rozsahu
    Makro 51. Přidejte do buňky chybějící nuly
    Makro 52. Nahraďte prázdné buňky nulou
    Makro 53: Přidání textu na začátek nebo konec buňky
    Makro 54: Vytvořte makro transformace dat
    Makro 55 – Vymazání dat (netisknutelné znaky)
    Makro 56. Zvýrazněte duplikáty v rozsahu dat
    Makro 57. Skryjte duplicitní řádky
    Makro 58. Selektivně skryjte šipky automatického filtru
    Makro 59. Zkopírujte filtrované řádky do nového sešitu
    Makro 60: Vytvořte nový list pro každou položku v automatickém filtru
    Makro 61 – Zobrazí filtrované sloupce ve stavovém řádku

    Práce s kontingenčními tabulkami

    Makro 62: Vytvoření kontingenční tabulky zpětně kompatibilní
    Makro 63: Obnovte všechny kontingenční tabulky v sešitu
    Makro 64. Vytvoření "inventáře" všech kontingenčních tabulek knihy
    Makro 65: Vytvořte všechny kontingenční tabulky pomocí stejné mezipaměti dat
    Makro 66. Skryjte všechny mezisoučty v kontingenční tabulce
    Makro 67. Změňte názvy dat všech polí souhrnu
    Makro 68 – Vynutit součtování pro všechna pivotní data
    Makro 69: Aplikujte číselný formát na všechny datové položky
    Makro 70: Seřaďte klíčová pole abecedně
    Makro 71: Použít vlastní řazení na datové položky
    Makro 72: Ochrana kontingenční tabulky
    Makro 73: Použít omezení kontingenčního pole
    Makro 74. Automatické mazání listů s detailním shrnutím
    Makro 75: Tisk kontingenční tabulky pro každý prvek filtru
    Makro 76: Vytvořte nový soubor pro každý prvek filtru
    Makro 77. Příprava rozsahu dat pro kontingenční tabulku

    Práce s tabulkami a grafy

    Makro 78 – Změna velikosti grafů na listu
    Makro 79. Spojte graf s určitým rozsahem
    Makro 80: Vytvořte sadu neuspořádaných grafů
    Makro 81: Tisk všech grafů na list
    Makro 82. Označení nejlepší a nejhorší hodnoty na
    Makro 83 - Stejné barvy pro hodnoty v různých grafech
    Makro 84. Korespondence barvy grafů s barvou rozsahů

    Odesílání e-mailů z Excelu

    Makro 85 – Odeslat aktivní sešit poštou (příloha)
    Makro 86 - Odeslání rozsahu hodnot jako přílohy
    Makro 87: Odeslání jednoho listu jako přílohy
    Makro 88. Pošlete e-mail s odkazem na naše soubory
    Makro 89: Odeslání přidání adres do našeho seznamu kontaktů
    Makro 90: Uložte všechny přílohy do samostatné složky
    Makro 91: Uložení konkrétních příloh do složky

    Interakce s jinými aplikacemi Office

    Makro 92 – Spusťte přístupový dotaz z Excelu



    Makro 96 – Komprimujte databázi Accessu z Excelu
    Makro 97: Odesílání dat aplikace Excel do dokumentu aplikace Word
    Makro 98. Sloučení s dokumentem aplikace Word
    Makro 99: Odesílání dat aplikace Excel do prezentace PowerPoint
    Makro 100. Odesílání grafů Excel do prezentací PowerPoint
    Makro 101: Převést sešit na prezentaci v PowerPointu

    Interakce s jinými aplikacemi Office
    Naučte se pracovat s Wordem, Accessem a PowerPointem
    Makro 92 – Spusťte přístupový dotaz z Excelu
    Makro 93: Spusťte makro Access z Excelu
    Makro 94: Otevření sestavy Accessu z Excelu
    Makro 95 – Otevření přístupového formuláře z Excelu

    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ího řádku a opustit smyčku For iRowNumber = i Exit For End If Next i "Informovat uživatele ve vyskakovacím okně, zda byl nalezen hledaný řádek" Pokud je daný řádek nalezen, uveďte, ve které buňce byla shoda nalezeno If iRowNumber = 0 Then MsgBox "Row" & sFindText & " not found" Else MsgBox "String " & sFindText & " nalezené v buňce A" & iRowNumber End If End Sub

    Příklad makra Excel 2

    Další postup Sub- příklad použití cyklu 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 pracovat s dynamickými poli a jak používat smyčku. 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 provádí na nich 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 nastaví hodnoty buněk A1 a B1 na argumenty Val1 a Val2 "ze sešitu Data.xlsx umístěného ve složce C:\Documents and Settings Sub Set_Values(Val1 As Double, Val2 As Double) Dim DataWorkbook As Workbook On Error GoTo ErrorHandling" Otevřít sešit s daty Set DataWorkbook = Workbooks.Open("C:\Documents and Settings\Data") "Přiřadit hodnoty proměnným 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 " ve správné složce a poté pokračujte makrem MsgBox "Soubor Data.xlsx nebyl nalezen!" & _ "Přidejte sešit do C:\Documents and Settings a klikněte na OK" Resume End Sub

    Tabulky Excel jsou jedním z nejoblíbenějších způsobů ukládání a organizace informací. Pokud implementujete makra v Excelu, pak se možnosti programu mohou téměř zdvojnásobit. Makra například pomáhají automatizovat rutinní procesy a urychlují monotónní práci. Často je používají specialisté, kteří překládají sestavy z 1C do Excelu. S pomocí vloženého kódu je lze snadno převést do jediné standardní šablony.

    Co jsou makra Excelu?

    Makra se používají nejen v tabulkách, ale v celém Microsoft Office. Jsou to kód generovaný pomocí Visual Basic for Applications. Pokud jste částečně obeznámeni s webovým programováním, můžete nakreslit analogii s Javascriptem. Makra Excelu dělají v podstatě totéž, co Javascript dělá s daty HTML.

    Malá část toho, co makro dokáže v kancelářských aplikacích:

    Zarovnejte dokument podle stylu a naformátujte jej;
    . provádět operace s číselnými a textovými daty;
    . uchýlit se k pomoci externích souborů (text, databáze a další);
    . vytvářet nové dokumenty od začátku;
    . kombinovat několik akcí a provádět je automaticky.

    Chcete-li s tabulkou pracovat, můžete si ji vytvořit sami nebo si stáhnout hotovou verzi z internetu. Makra je třeba stahovat pouze z důvěryhodných stránek, jinak si můžete do Excelu zanést virus.

    Jaká jsou nebezpečí maker v Excelu?

    Poškozené soubory na PC;
    . ukrást důvěrná data.

    K zavlečení viru dochází při provozu jedné z kancelářských aplikací – Wordu nebo Excelu. Poté, co přestanete pracovat, virus v nich začne pracovat autonomně a infikuje s ním celý systém.

    Dalším způsobem, jak škodlivé makro funguje, je zprostředkování vstřikování hrozeb do systému. V tomto případě se jedná o jakousi bránu pro zavedení a generování trojského softwaru. Nebude již řízen upraveným makrem, ale samotným operačním systémem, a proto se hrozba rozšiřuje. Ne vždy je možné takové viry vyléčit, někdy musíte kompletně změnit OC Windows nebo pevný disk PC (v závislosti na úkolech, které si hacker při psaní kódu nastavil).

    Můžete si vybrat jakýkoli způsob ochrany proti takovým makrům. Zvýšení úrovně zabezpečení aplikace Excel je nejoblíbenější, ale v tomto případě již program nemusí podporovat užitečná makra vašeho autora. Nedůvěřujte souborům z neznámých zdrojů, protože mohou být infikovány. I makro získané z PC vašeho kolegy může být plné nebezpečí. Pokud vám přítel dal soubor, který podporuje použití maker, s nimiž budete pracovat, pak než povolíte systému jej používat, určete, jak toto makro obdržel.

    Nejlepší možností je naučit se umění vytvářet makra pro vaše potřeby. V tomto případě se můžete plně zaručit za jejich kvalitu a bezpečnost.

    Jak zaznamenat makra v Excelu

    Nejjednodušší způsob, jak vytvořit makro, je programovat přímo v Excelu. K tomu budete potřebovat tabulku se zadanými údaji a trochu znalostí, které umožní záznam takového kódu v programu.

    Vytváření začíná nabídkou "Zobrazit". V něm je třeba vybrat pozici "Makra" a příkaz "Nahrát makro". Dále musíte zadat název bez mezer, například "Formát" (pokud bude kód zodpovědný za změnu formátu textu nebo buněk).

    Poté budou všechny vaše akce automaticky zaznamenány a převedeny do kódu makra. V dolní části dokumentu se objeví tlačítko s malým čtverečkem („Stop“), kliknutím na něj zastavíte nahrávání. Takže můžete automaticky zaznamenávat makra v Excelu, jejichž příklady můžete analyzovat později v procesu učení.

    Jak povolit makra v Excelu

    Chcete-li zaznamenané makro zahrnout do jiných dokumentů, musíte je po vymazání tabulky uložit. Formát dokumentu musí být nastaven na XLTM (který podporuje makra).

    Chcete-li při příštím přístupu k dokumentu povolit makra v aplikaci Excel, musíte nejprve povolit jejich použití v rozbalovací horní liště. Poté je potřeba importovat data, která budou makrem upravovat, z běžné CSV tabulky. Na konci importu musíte znovu přejít do nabídky „Zobrazit“, tam vybrat „Makra“ a v seznamu najít název vámi vytvořeného kódu. Na konci klikněte na tlačítko "Spustit". Poté uvidíte, jak program podle dříve zadaného algoritmu provádí výpočty a formátuje dokument.

    Jak zobrazit programový kód makra?

    Všechna makra vytvořená v Excelu jsou psána automaticky, bez lidského zásahu. Program samostatně sestaví programový kód, který lze otevřít z tabulky voláním pomocí nabídky.

    Chcete-li to provést, musíte postupně provádět příkazy:

    Rozbalte kartu "Zobrazit";
    . otevřete "Makra";
    . vyberte název požadovaného makra;
    . vyvolejte okno s jeho kódem pomocí tlačítka "Změnit".

    V novém dialogovém okně můžete upravit a změnit makro. Uvidíte tam kód, který program automaticky zaznamenal, a libovolnou akci můžete přidat ručně. Po uložení informací při importu nových dat bude makro fungovat jinak.

    Jak spustit makro po kliknutí na buňku

    Řekněme, že chcete, aby se makro spustilo, když je vybrána buňka A1. Aby buňka vybraná v Excelu spustila makro, musíte do prvního modulu přidat kód programu:

    Private Sub Worksheet_SelectionChange (ByVal Target As Range)
    If Target.Address = "$A$1" Pak: Zavolejte module1
    konec sub

    Nejlepší způsob, jak se naučit makra v tutoriálu Excel. Takových příkladů je nejeden a pro ty, kteří se se všemi možnostmi stolu teprve seznamují, je to nejlepší způsob, jak se naučit plně využívat jeho funkčnost.

    Kde se mohu naučit pracovat s makry

    Existuje několik způsobů, jak se naučit vytvářet složitější makra. Měly by se lišit logikou a jasně nakonfigurovaným sledem akcí. Taková makra se vytvářejí pouze ručním psaním kódu VBA. Chcete-li vytvořit složitá makra, budete muset strávit nějaký čas učením se složitosti programovacího jazyka Visual Basic.

    Nyní, abyste mohli studovat všechny možnosti Excelu, bylo vytvořeno mnoho speciálních kurzů, které trvají několik týdnů, ale k jejich účasti budete muset cestovat do školicího centra nebo navštěvovat webináře (což není vždy vhodné kvůli časovému posunu). Ale efektivnější a jednodušší způsob, jak se naučit vytvářet makra v Excelu, je tutoriál s příklady. Můžete si to procvičit, kdykoli budete chtít, a podrobné návody vám pomohou vyvinout různé možnosti: od nejjednodušších kódů po ty nejsložitější. Microsoft Excel je univerzální tabulkový editor, se kterým můžete řešit mnoho složitých úkolů.

    Příklady

    Existují kódy, které umožňují automatizovat různé úkoly. Takže jako příklad zvažte makro vložení řádku. Vypadá to takto:

    Dílčí makro1()

    Pokud nejste silní v programování, ale zároveň potřebujete nějaké implementovatúkol, který přesahuje standardní funkce a příkazy MS Excel, můžete hledat řešení na internetu. Řešení je s největší pravděpodobností ve formě kódu VBA, který musíte zkopírovat a vložit do sešitu, pak nějak zajistit, aby vám tento kód fungoval, v tomto článku vám řeknu, jak na to.

    Zvažte dva příklady:

    1. Hledání a využití týmu

    Potřebujeme například příkaz, který by do vybraných buněk vložil číslo „1“. Spustíme vyhledávač, zadáme hledaný výraz, získáme výsledky, začneme procházet, najdeme kód v něčem takovém:

    Sub Insert1() Dim q As Object On Error Pokračovat Další sada q = Buňky pro každý q Ve výběru q = 1 Další q End Sub

    Vyberte tento kód (bez číslování řádků, počínaje slovem Sub) a stiskněte ctrl+c. Přejděte do sešitu MS Excel a stiskněte klávesovou zkratku Alt+F11, budete mít otevřené okno editoru VBA:

    V levém okně "Projekt - Projekt VBA" vyberte (klikněte) náš sešit, do kterého chcete vložit makro, například "VBAProject (Sešit2)":

    V položce nabídky „Vložit“ vyberte „Modul“:

    V levém okně "Projekt - VBA Project" byste měli mít novou složku "Modules" a v ní nový objekt "Module1":

    Přesuňte kurzor do pravého vstupního pole "Velké" a stiskněte ctrl+v, zkopírované makro se vloží do modulu:

    Makra v MS Excel lze vkládat na následující místa:

    • V Modulu obvykle vkládají kód maker, která se spustí stisknutím tlačítka uživatelem (jako např. v našem případě) nebo kód funkcí (vzorce);
    • Do Listu obvykle vloží kód maker, k jejichž spuštění by mělo dojít automaticky v závislosti na akcích uživatele nebo změnách dat v listu (data se změnila, makro bylo provedeno);
    • Do Sešitu většinou vloží kód maker, k jejichž spuštění by mělo dojít automaticky v závislosti na akcích prováděných na knize (souboru). Například makro, které se spustí při otevření nebo zavření sešitu nebo při jeho uložení;
    • Součástí uživatelského formuláře mohou být i makra.

    Osoba, která kód publikuje, obvykle uvádí, kam má být vložen, do modulu, listu nebo sešitu.

    Pro vložení kódu do listu vyberte odpovídající list v levém okně editoru VBA, dvakrát na něj klikněte levým tlačítkem myši, přesuňte kurzor do pravého vstupního pole a vložte kód.

    Chcete-li vložit kód do knihy, vyberte „Tato kniha“:


    Pojďme trénovat. Vložte níže uvedený kód do "Sheet1".

    Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo a If Target = 2 Then VBA.MsgBox("Cell " & Target.Address & " = 2") End If a: Exit Sub End Sub

    Toto makro zobrazí informační zprávu, pokud do libovolné buňky listu zadáte "2".

    Vraťte se do sešitu, přejděte na "List1" a do buňky "A1" zadejte číslo "2" a stiskněte Vstupte, po kterém by se měla zobrazit následující zpráva:

    Pokud vidíte tuto zprávu, udělali jste vše správně. Pokud ne, pak jste kód vložili někam na špatné místo, zkuste to znovu.

    Při vkládání kódu je třeba dávat pozor, kam jej vkládáte. To lze provést pohledem na to, co je napsáno v názvu okna editoru VBA:

    2. Hledání a používání funkce

    Na internetu najdeme VBA kód funkce, která počítá například počet slov v buňce:

    Veřejná funkce CountWordsInCell(Cell As Range) Dim q As Variant Application.Volatile q = VBA.Split(Application.WorksheetFunction.Trim(Cell.Value), " ") CountWordsInCell = UBound(q) + 1 End Function

    Zkopírujte kód, stiskněte klávesovou zkratku Alt+F11 otevře se editor VBA:


    Do naší knihy přidáme nový modul a do tohoto modulu vložíme zkopírovaný kód:


    Zavřete editor VBA a přejděte do sešitu. Vytvořte nový list (volitelné) v buňce A1 zadejte text "máma umývala rám." Stojíme v buňce, ve které chceme získat výsledek (počet slov), v nabídce "Vzorce" klikněte na tlačítko "Vložit funkci":

    V okně "Vložit funkci", které se otevře, v poli "Kategorie" vyberte "Definováno uživatelem"

    V seznamu dostupných funkcí vyberte „Počet slov v buňce“ a klikněte na „OK“:

    Zadejte požadované argumenty a klikněte na „OK“:

    Dostáváme výsledek:

    Důležité:

    Pokud sešit, do kterého jste makro vložili, neuložíte jako „sešit s podporou maker“, všechny moduly s makry se smažou a celou tuto práci budete muset později zopakovat.

    Pokud při vkládání makra do modulu vidíte místo nějakého textu červené znaky " ???????? "

    To znamená, že máte problém s kódováním, který je pozorován při kopírování textu v azbuce z některých prohlížečů. Chcete-li tento problém vyřešit, zkuste zkopírovaný kód vložit do prázdného listu MS Excel jako „Text Unicode“. Chcete-li to provést, přejděte do sešitu MS Excel, vyberte nebo vytvořte prázdný list, postavte se do buňky "A1" a stiskněte klávesové zkratky Ctrl+Alt+V. Měla by se objevit nabídka "Vložit jinak", vyberte "Text Unicode" a klikněte na "OK".

    Kód bude nutné vložit do listu bez otazníků:

    Poté znovu zkopírujte kód vložený do listu a vložte jej do modulu.

    Pokud v editoru VBA nevidíte okno "Projekt - Projekt VBA", přejděte na kartu nabídky "Zobrazit" a v seznamu vyberte "Projektový průzkumník" nebo stiskněte klávesovou zkratku ctrl+r:

    I když nevíte nic o VBA a makrech, budete v pokušení se s nimi lépe seznámit po přečtení některých triků a triků v této části. Pokud s makry teprve začínáte, můžete zde najít užitečné informace.

    . .

    V předchozích článcích jste viděli, jak Excel dokáže spravovat další aplikace Microsoftu, jako je Word a Outlook. Ale zároveň lze k ovládání Excelu použít i jiné aplikace. Například jste napsali makro ve Wordu nebo Accessu, které vytvoří excelovou tabulku, naplní ji daty a poté ji uloží. Excel nemusí […]

    . .

    Pomocí této technologie můžete spravovat Microsoft Outlook a odesílat e-maily přímo z tabulky nebo kopírovat položky poznámkového bloku. Povaha Excelu je samozřejmě taková, že tabulka bude odeslána e-mailem, ale tento způsob umožňuje odeslat pouze část tabulky. Aby tento kód fungoval, musíte mít […]

    . .

    Tato metoda může být velmi užitečná například v případě, že máte standardní dokument s tabulkami naplněnými těmito makry z excelových tabulek. Můžete spustit makro a data se přenesou do tabulek v dokumentu aplikace Word. Nedávno jsem měl za úkol napsat program na vyplnění reportu o SLA (Service Level Agreement - úroveň smluv o poskytování služeb). Zpráva […]

    . .

    Makra se často používají k automatizaci aplikací. Jakékoli makro je posloupnost akcí zaznamenaná pod určitým názvem. Pokud je při práci s Microsoft Excel nutné provést stejnou sekvenci operací několikrát (například složité formátování aktuální buňky nebo přidání nového řádku s vyplněním některých jejích buněk vzorci), můžete je zaznamenat akce a […]