Jste zde: Úvodní stránka » excel » vba » ms-excel-vba-uvod
Excel VBA makra - úvod do programování
aneb využijte Visual Basic při programování v Excelu
Makro úvod
Nápověda je pouze v angličtině, asi se jim to nechtělo kvůli několika bláznům překládat. Alespoň se člověk zdokonaluje v technické angličtině.
Výborně se hodí pro stále se opakující činosti. Případně chceme-li vytvořit v excelu něco profesionálního neobjedeme se bez maker. Jejich použití je v excelu velice jednoduché. Stačí mít základy programování ve Visual Basicu (či v jiném programovacím jazyku) a již můžete programovat.
Jednoduché makro
Pro stále se opakující činosti můžeme nahrát makro (pokud jej nechceme programovat).
Z nástrojové lišty Nástroje - Makro - Záznam nového makra... .
Zadáme název makra:
a již můžeme psát či provádět často opakované pohyby. Až bude vše hotovo tak stačí makro stopnout tlačítkem.
a máme makro hotovo.
Pokud jej chceme spustit stačí přes menu Nástroje - Makro - Makra... a vybereme naše makro podle názvu.
Toto by bylo v kratkosti o makrech a jejich záznamech, osobně moc nepouživám, více možnosti nabízí vlastní programování maker na která se podíváme dále:
Složitější makro
aneb využijeme Visual Basic :)
Spustíme nejprve Visual Basic. V menu Nástroje vybereme makro a poté Editor jazyka Visual Basic
Otevře se nám vlastní okno ve Visual Basicu. Doporučuji si ještě zobrazit okna Project Explorer a Properties Window
a obdržíme již použitelnou obrazovku:
Tak a máme přehledně uspořadanou plochu se všemi potřebnými drobnostmi. No a můžeme se vrhnout do našeho prvního programu.
První program
Z menu vybereme Insert - Module a můžeme napsat náš První program. Pro jednoduchost si vybereme napriklad součet (jde jen o ukázku a kontrolu a to je nejlépe provádět na něčem jednoduchém.
Function secti(x, y)
secti = x + y
End Function
Pro kontrolu nami vytvořených programů existuje mnoho prostředků, např.: Object Browser, který nám umožní i vložit popisek námi vytvořené funkce. Ať víme co jsme si to naprogramovali.
Ke každé funci si můžeme uložit komentář. V Object Browser pravým tlačítkem na funci vybereme Properties...
Zde zadáme náš popis. Po stisknutí OK se uloží naše poznámka uloží.
A teď již můžeme v excelu naší první funkci použít. Vybereme Vlož - Funkce A vybereme vlastní funkce.
Zde již je stačí kliknout na název námi vytvořené funkce a hotovo :)
A tohle je výsledek...
Tak a tímto bychom měli svou první naprogramovanou funkc. Je pravda , že zadaním =10+20 máme součtovou funkci hnedle a bez programování, ale cílem bylo ukázat jak narogramovat funkci na jednoduchém příkladě. Složitější příklady budou následovat.
VBA - makra v přípravě
Např. použití cyklů, helsování, vlastní menu a mnoho dalšího zajimavého...
Upozornění
Testováno v programu Excel 2003. V starších aplikacích nemusí některe funkce fungovat.
Článek byl aktualizován: 14.01.2010 17:11
Další články k tématu
- VBA makra - úvod - právě čtete
- Co je VBA
- Druhy aplikaci v Excelu
- Pojmenovávání v aplikacích
- Prostředí editoru VBA
- Ladící okno - immediate - Debug.print
- Lišta Edit (úpravy) - programovací okno VBA
- Komentáře v kódu VBA
- VBA Formuláře UserForm - seznam článků
- Práce se soubory - seznam článku
- Jak na aplikace ve VBA Excel
- Vlastnosti, Metody, Události, Kolekce
- Události - úvod
- Odebrání hypertexového odkazu
- Vložení vzorce do komentáře
- Přiřazení maker tlačítkům - Excel 2007
- Zobrazení dialogu
- Msg box - dialogové okno
Komentáře
Michael
Přidáno: 15.08.11 12:41
Zdravím. Potřeboval bych poradit ohledně makra. Řekněme, že v buňce A1 mám [Ahoj] v buňce B1 mám [=A1], a tudíž taky Ahoj. Jak zařídím, aby mi makro místo vzorce =A1 kopíroval výsledek vzorce? děkuji
Pavel Lasák
Přidáno: 25.08.11 17:32
To Michael: použití
Paste:=xlPasteValues
Toman
Přidáno: 06.09.11 10:41
Dobrý den, jsem pouhým uživatelem excelu, ale potřeboval bych pomoc s načítáním řádků databáze z tebulky 2 do tabulky 1 podle např. klíčového čísla v odstavci. Je zde někdo kdo by pomohl v této věci, děkuji. Toman PS: Email: toman@tradeservicing.cz
Fanky
Přidáno: 19.09.11 09:35
Dobry den, potrebujem pomoct s makrom na vytvorenie statickej hlavicky v subore, a oznacenim sumarnych riadkov. Zrejme pojde o niekolko prikazov, neovladam to a pre kratkost casu ani nestihnem nastudovat. Ak by niekto vedel pomoct, budem sa revanzovat. Podrobne info na adrese infoserver7@gmail.com Skype kontakt: petervali Dakujem
Tomás
Přidáno: 15.01.12 12:19
Dobrý den, potrebuju poradit. Jak udelat v tabulce excel. Aby mě upozrnovala na bližíci se datumy.Email: vajra@seznam.cz
Pavel Lasák
Přidáno: 15.01.12 17:45
To Tomás: Například pomocí funkce KDYŽ nebo podmíněného formátování.
Aleš
Přidáno: 21.02.12 15:32
Dobrý den, potřeboval bych poradit, jak napsat či nahrát makro, v následující situaci. Mám na listu více než 150 skladových položek (každá v jednom řádku). V jedné buňce je stav kusů v hlavním skladu a v sousední buče na řádku je stav téže položky v manipulačním skladu. Potřeboval bych, aby pro zvolenou položku po stisku tlačítka (to umím zadat) makro odečetlo 1 kus z hlavního skladu a přičetlo 1 kus do manipulačního skladu. Děkuji za pomoc Aleš
Pavel Lasák
Přidáno: 21.02.12 18:18
To Aleš: Nejprve načíst hodnotu http://office.lasakovi.com/excel/vba-listy-bunky/precti-udaj-do-bunky-excel-vba/ změnit -/+ 1 a pak zapsat http://office.lasakovi.com/excel/vba-listy-bunky/zapis-udaj-do-bunky-excel-vba/
Josef Barták
Přidáno: 25.02.12 10:11
Mám na List1 jmenný seznam lidí s daty v řádcích a ke každé osobě potřebuji přiřadit typ práce pomocí tříznakové zkratky např: noční práce NOC nebo třísměnný provoz 3SP. Stejnými zkratkami jsou označeny názvy listů s předdefinovaným textem k dané práci. Jak nadefinovat tlačítko tisk, aby po zadání zkratek 3SP, NOC nebo dalších do jedné buňky se označily do náhledu tisku příslušné listy. Děkuji za odpověď. Josef
Pavel Lasák
Přidáno: 25.02.12 16:26
To Josef Barták: Nepostačí vám využít filtr? http://office.lasakovi.com/excel/data/ms-excel-filtry-uvod/
Josef Barták
Přidáno: 25.02.12 17:29
Nestačí, protože je třeba vytisknout ke každě osobě protokol práce a to na samostatný list. Při stisku tlačítka tisk umístěného na řádku osoby by mělo dojít ke zobrazení náhledu před tiskem z vyselektovaných listů, vybraných dle třípísmenné kombinace, zadané do buňky na řádku osoby (např: 3SP, MAD, NOC atd. Názvy listů opět 3SP, MAD, NOC atd.) Jestli je to ale ve VBA možné?
Pavel Lasák
Přidáno: 26.02.12 11:57
To Josef Barták: Je to možné. Vybrané třípísmené kombinace vyčtu z buňky http://office.lasakovi.com/excel/vba-listy-bunky/precti-udaj-do-bunky-excel-vba/ pomoci textových funkci vyzobu MAD, NOC a pak vyberu list Sheets(Array("List1", "List2")).Select
Sheets(Array("3SP", "MAD", "NOC")).Select
A provedu obrazení před tiskem.
MAD, NOC, lze vzít i ze zobrazeného formuláře, kde uživatel zaškrtne co potřebuje tisknout.
Aleš
Přidáno: 26.02.12 14:52
Dobrý den, potřebuji konkrétní vzorec ve VBA, který by snížil hodnotu ve vybrané buňce např. A2 o hodnotu 1 (jedna) a zároveň zvýšil hodnotu v buňce sousední A3 taktéž o hodnotu 1(jedna). Děkuji
Pavel Lasák
Přidáno: 26.02.12 15:21
TO Aleš: přečíst údaj z buňky http://office.lasakovi.com/excel/vba-listy-bunky/precti-udaj-do-bunky-excel-vba/ přičíst 1 a zapsat http://office.lasakovi.com/excel/vba-listy-bunky/zapis-udaj-do-bunky-excel-vba/
Petr
Přidáno: 03.05.12 12:41
Ahoj, možná blbý dotaz. Mám určitou představu o funkčnosti tabulky v excelu, tak mě to přivedlo až k VBA,makrům a pod. Princip by měl být asi takový: Budu mít aspoň jednu buňku, seznam předdefinovaných údajů ( dejme tomu 3 města) jeden list sešitu bude obsahovat "databazi" (město, ulice, firma atd...). Ve zmiňovaném seznamu si zvolím město, kliknu na čudlík, spustím třeba makro a chci aby mě to do určitého pole (víc řádků) vypsalo všechny řádky z "databaze" které obsahují ono zvolené město. Je to sci-fi, nebo by se to dalo realizovat? Dekuji
Pavel Lasák
Přidáno: 03.05.12 18:41
To Petr: Dá se realizovat. Zkusím připravit článek jak hledat a kopírovat údaje.
Ludvik
Přidáno: 17.05.12 13:26
Zdravím, Potřeboval bych pomoci s vytvořením makra na propojení MS Project s MS Excel tak, aby mi propojil danou buňku v MS Project s buňkou v MS Excel či naopak, aby buňka v MS Excelu ukázala hodnotu v buňce v MS Project. díky předem
Přidání nového komentáře
Za obsah komentářů neodpovídám, jelikož jsou komentáře publikovány ihned po jejich napsání čtenářem. Toto nemohu nijak ovlivnit. Přesto si vyhrazuji možnost jakýkoli neslušný komentář smazat bez udání důvodu.
Nejnovější článek
Z článku o
excel jsem jako poslední přidal či upravil článek
21.05.2012:
Zrychlení kódu ve VBA - Excel.
Nejčtenější článek
Excel
- Základy MS Excel
- menu Soubor
- Formát dat
- Vložit
- Grafy
- Vzorce (Funkce)
- Matice
- Data
- Revize (Nástroje)
- VBA Úvod a seznamy článků
- VBA makra - úvod
- Co je VBA
- Druhy aplikaci v Excelu
- Pojmenovávání v aplikacích
- Prostředí editoru VBA
- Ladící okno - immediate - Debug.print
- Lišta Edit (úpravy) - programovací okno VBA
- Komentáře v kódu VBA
- VBA Formuláře UserForm - seznam článků
- Práce se soubory - seznam článku
- Jak na aplikace ve VBA Excel
- Vlastnosti, Metody, Události, Kolekce
- Události - úvod
- Odebrání hypertexového odkazu
- Vložení vzorce do komentáře
- Přiřazení maker tlačítkům - Excel 2007
- Zobrazení dialogu
- Msg box - dialogové okno
- VBA Teorie základy
- VBA Buňky cell
- VBA Listy sheet
- VBA Práce se soubory
- VBA Formuláře (UserForm)
- VBA Grafy
- VBA Application
- VBA Pás karet, Menu
- VBA Triky
- VBA praktické příklady kódu
- Praktické příklady
- Finanční poradce
- Šablony - Templates
- Testy
- Ostatní
Google+
Novinky
Matematické rovnice (vzorce) - Word 2010
Excel: 21.05.2012:
Zrychlení kódu ve VBA - Excel
Access: 28.04.2012:
VBA - Jak spustit v MS Access
Power Point: 25.04.2012:
SmartArt - PowerPoint 2010
Outlook 26.04.2012:
Outlook 2010 - jak vypadá
Project: 05.04.2012:
Kalendář ukázka
OneNote: 17.10.2010:
OneNote 2010 – popis obrazovky
Office 30.04.2012:
Kde hledat odpovědi na dotazy o MS Office
Poděkování
Translate
Stránky o MS Office produktu společnosti Micosoft. Neslouží jako technická podpora.
| Email na autora: lasak@centrum.cz | Copyright © : Pavel a Danka 2006 - 2012 |
| Doporučuji: Advokátní kancelář Brno - Dana Lasáková |
27619
Tento web zatím neprošel jazykovou korekturou. Beta verze redakčního systému.