Přeskočit navigaci | Přeskočit na novinky

Jste zde: Úvodní stránka » excel » vba-priklady-kodu » prakticke-ukazky-kodu-excel-vba

VBA Excel - praktické ukázky kódu pro použití

kódy pro práci ve VBA...

Úvod

Sem tam potřebuji rychle nějaký příkaz v Excelu a jelikož není v hlavě tak musím složitěji hledat v nápovědě. Navíc ať neumusím odpovídat stále na stejné dotazy stačí když pošlu odkaz a dotyčný si může požadovaný příkaz najít.

Takže nebudu to okecávat a následuje seznam kódu. Ať slouží.

Práce s mřížkou

Sub VBA_Excel_Mrizka_zapnuti()
  ActiveWindow.DisplayGridlines = True
End Sub

Sub VBA_Excel_Mrizka_vypnuti()
  ActiveWindow.DisplayGridlines = False
End Sub

Sub VBA_Excel_Mrizka_opak()
  stav_ve_kterem_je_mrizka = ActiveWindow.DisplayGridlines
  ActiveWindow.DisplayGridlines = Not stav_ve_kterem_je_mrizka
End Sub

Odkazy v Excelu

Sub VBA_Excel_RC_odkazy()
  With Application
    .ReferenceStyle = xlR1C1
  End With
End Sub

Sub VBA_Excel_normalni_odkazy()
  With Application
    .ReferenceStyle = xlA1
  End With
End Sub

Hypertext

Sub VBA_Excel_hypertext_vlozit()
  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
    "http://office.lasakovi.com", TextToDisplay:="office.lasakovi.com"
End Sub

Komentare

Sub VBA_Excel_komentar_vloz()
  ActiveCell.AddComment
  ActiveCell.Comment.Visible = False
  ActiveCell.Comment.Text Text:="Pavel Lasák:" & Chr(10) & "Komentář"
End Sub

Sub VBA_Excel_komentar_zobraz()
  ActiveCell.Comment.Visible = True
End Sub

Sub VBA_Excel_komentar_skryt()
  ActiveCell.Comment.Visible = False
End Sub

Sub VBA_Excel_komentar_zmena_stavu()
  stav_ve_kterem_je_komentar = ActiveCell.Comment.Visible
    ' odpověď střízlivý nedostanete :)
  ActiveCell.Comment.Visible = Not stav_ve_kterem_je_komentar
End Sub

Sub VBA_Excel_komentar_smaz()
  Selection.ClearComments
End Sub

Práce s listy

Sub VBA_Excel_Odstraneni_Listu()
  ActiveWindow.SelectedSheets.Delete
End Sub

Sub VBA_Excel_Odstraneni_Listu_bez_dotazu()
  Application.DisplayAlerts = False
  'a Excel nedá dotaz zda opravdu chcete smazat... Pozor na to ...
  ActiveWindow.SelectedSheets.Delete
End Sub

Závěr

Chybí Vám nějaký kód? Zanechte vzkaz v komentáři. Pokusím se doplnit (nebo doplní některý z čtenářů...).

Článek byl aktualizován: 23.02.2012 18:03



| tisk stránky TISK | nahoru NAHORU |
| |

Další články k tématu




Komentáře


Jackie

Přidáno: 19.01.11 14:08

Ve formuláři mám několik textboxů. Během zpracování formuláře je potřebuji vyprázdnit. Nechci v makru otrocky psát: Vymaž textbox1, 2 ... Jde to v cyklu?

Pavel Lasák

Přidáno: 19.01.11 17:47

To Jackie: Jde. Více v článku For Next - Cykly

DoE

Přidáno: 25.01.11 16:32

Lze naprogramovat funkci typu "když je splněna podmínka (např A1=A2) tak ulož do C1 hodnotu x, pokud splněná není ulož do D1 hodnotu y" ? diky

Pavel Lasák

Přidáno: 25.01.11 19:07

To DoE: Použil bych funkci KDYŽ v buňce C1 i D1 (což je nejednoduši) nebo to naprogramovat ve VBA (což je složitější)

Michal Manis

Přidáno: 31.01.11 09:48

Potřebuji makro nahrazující podmíněné formátování. Potřebuji cca 12 podmínek a Excel do 2007 má jenom 6. Mám Makro které podle hodnoty čísla zabarví stejnou buňku podle škály. Ale potřeboval bych aby se zabarvila jiná buňka než ta ve které je daná hodnota. Nejlépe aby se tam s formátem vepsalo i číslo. Přéklad mohu poslat mailem. Děkuji za pomoc. michal@manisovi.cz

Pavel Lasák

Přidáno: 02.02.11 20:10

To Michal: Osobně bych použil dva (tři) sloupce.

Marián

Přidáno: 07.02.11 15:19

Dobrý den. Prosím o radu. Po vyhledáni poslední vyplnené bunky v slopci : Set a = Columns(ActiveCell.Column) Set lastcell = a.Cells(a.Cells.Count).End(xlUp) lastcell.Offset(1, 0).Activate potrebuji doplnit součet hodnot v danem sloupci. Jak na to? Dekuji za odpoved.

Pavel Lasák

Přidáno: 07.02.11 19:15

To Marián: Doplnit do buňky funkci SUMA.

Pavel

Přidáno: 21.02.11 15:10

Dobrý den, chtěl bych vytvořit tlačítka na čísla 1 až 9, abych nemusel používat klávesnici. Postup by byl takový, že bych kurzorem označil jakékoliv buňky na listu a po zmáčknutí tlačítka by se do buněk zapsalo číslo. Jde něco takového vytvořit? Děkuji.

Pavel Lasák

Přidáno: 21.02.11 16:16

To Pavel: Potřebujete to z důvodu dotykového displeje? Jelikož toto bych řešil, programem ve windows, který po kliku na položku do které lze zapisovat zobrazí SW klávesnici.

Pavel

Přidáno: 21.02.11 18:19

Ne, mám normální notebook, ale přijde mi jednodužší než ťukat čísla přes klávesnici, tak na to mít tlačítka. Je to možné udělat přes VBA nebo přes makro v MS Excel?

Pavel Lasák

Přidáno: 22.02.11 16:03

To Pavel: Přes VBA makro to lze udělat. Vlož tlačítko ovladacího prvku ActiveX. Pojmenuj 1. Do kódu pro stisk tlačítka vlož: ActiveCell.FormulaR1C1 = "1

Pavel

Přidáno: 22.02.11 19:37

Díky za radu. Bohužel tento příkaz pouze vloží číslo do posledně označené buňky. Já bych potřeboval, aby se číslo vepsalo do všech označených buněk.

Pavel Lasák

Přidáno: 23.02.11 15:58

To Pavel: Cyklem do označených buněk doplnit požadované číslo.

Petr Nový

Přidáno: 09.03.11 15:38

Dobrý den, jak nastavím spouštění formuláře po otevření sešitu? Diky.

Přidáno: 09.03.11 17:53

To Petr:
Private Sub Workbook_Open()
UserForm1.Show
End Sub

Předpokládám, že formulář máš pod názvem UserForm1

Petr Nový

Přidáno: 10.03.11 16:10

Děkuji, funguje to. Formulář se otevře ale hodnoty v něm nejsou aktivní. Součastně spouštím i makro které "naleje" hodnoty do formuláře. Je třeba formulář po otevření aktivovat?

Pavel Lasák

Přidáno: 10.03.11 18:20

To Petr: Těžko říct, nevím jak je formulář vytvořen.

Petr Nový

Přidáno: 11.03.11 11:38

Už jsem toto vyřešil a to tak že formulář otevírám až po startu makra. Ve formuláři mám popisky Label1 až label9. Dá se je naplňovat ve smyčce a jak?

Pavel Lasák

Přidáno: 11.03.11 20:23

To Petr: cyklem

For I = 1 To 10
...
Next I

Petr Nový

Přidáno: 11.03.11 20:38

Toto je mi jasné. Jak mám zapsat do smyčky definici popisků? For I = 1 To 10 UserForm1.LabelI = něco Next I tak to nefunguje

Pavel Lasák

Přidáno: 12.03.11 06:07

To Petr: nutno dat i do zavorek např.: userform1.textbox(i).value = format(0,"#,##0.00)

Petr Nový

Přidáno: 13.03.11 09:38

Sub mk1() Dim i Dim a For i = 1 To 5 a = a + 1 UserForm1.TextBox(i).Value = CInt(a) Next i End Sub Ve výsledku je chyba kompilace. Method or data member not found. Proč?

Pavel Lasák

Přidáno: 13.03.11 14:28

Dim i As Integer ? index = CInt(txt.Tag) ? Zrovna jsem u PC bez Excelu.

Petr Nový

Přidáno: 13.03.11 18:07

"Dim a, i as integer" Výsledek je stejný

Pavel Lasák

Přidáno: 14.03.11 15:58

A při změně definice CInt? CInt(txt.Tag)

Petr Nový

Přidáno: 14.03.11 19:00

Ta samá chyba. Kompilátor označi právě TextBox, tož právě v definici textboxu je třeba hledat chybu. A ta nápověda je na p...

Petr Nový

Přidáno: 14.03.11 21:38

tj. nápověda od MS ;-)

Petr Nový

Přidáno: 15.03.11 19:08

Tak tedy řešení je následující. Dim a As Integer For a = 1 To 10 UserForm1("TextBox" & CStr(a)).Value = "Stránka " & CStr(a) Next a Děkuji všem zúčastněným

Pavel Lasák

Přidáno: 16.03.11 16:55

To Petr: Gratuluji. Osobně než nápovědu Microsoftu používám strejdu googla. Jen se blbě ověřuje kód pokud člověk nemá na PC Excel.

Janek

Přidáno: 22.03.11 08:41

Dobry den, potrebuju napsat makro, ktere otevre soubor z adresare, ve kterem se nachazi vychozi soubor (ten, v kterem je makro umistene). Nevim jak napsat relativni cestu k souboru.

Pavel Lasák

Přidáno: 22.03.11 19:03

To Janek: Tento odkaz Vám nepomůže? http://groups.google.com/group/microsoft.public.excel.programming/msg/0f8e66f9e6f73cc4?pli=1

Michal

Přidáno: 08.04.11 01:29

Dobry den, neviem si dat rady s makrom, ktore by mi malo zmenit farby bunky v pripade, ze je na zaciatku riadku pismo napr. Arial bold 10. Dakujem za pomoc. s pozdravom.

Petr Nový

Přidáno: 19.04.11 16:42

Dobrý den, existuje v makru jednoduchá funkce na konverzí datumu/času na juliánské datum? Děkuji za radu

Pavel Lasák

Přidáno: 19.04.11 20:13

To Petr: Popsáno je na stránkách microsoftu http://office.microsoft.com/en-us/excel-help/insert-julian-dates-HP003056114.aspx přímo za použití klasických funkcí.

Bob

Přidáno: 02.05.11 11:08

Dobrý den, jak lze prosím zapsat kód, který by změnil název souboru na můj vlastní název (názvem myslím v levé části nahoře kde je např. Microsoft Excel - Sešt1. A já bych chtěl např. jen "Můj sešit" nebo i třeba Microsoft Excel - Můj sešit. 2.dotaz Líbí se mi, že některé procedury píší v dolním levém panelu co procedura dělá. Např.že zpracovává x tý řádek databáze a kolikátý je z celkového počtu nebo jen píše, že právě upravuje formát apod. Jak se toto programuje? Díky moc.

Pavel Lasák

Přidáno: 02.05.11 20:09

1) Název se změní tím že sešit uložíte: ActiveWorkbook.SaveAs Filename:= "C:\Muj-sesit.xlsm"

2) do stavového řádku lze zapsat příkazem Application.Statusbar = "Text ve stavovém řádku"

bob

Přidáno: 03.05.11 11:11

Díky za odpověď na vlastní název souboru. Ale já nemyslel ukládání nového souboru, ale jen, aby se v levé části nahoře zobrazoval můj definovaný název bez ohledu na skutečný název souboru. Např. soubor se bude jmenovat "Database.xls", ale vlevo nahoře budu chtít vidět text "Aplikace xy verze 1.0 pro planovani" nebo cokoliv jiného, třeba i v kombinaci skutečného názvu souboru + můj vlastní text. Díky

Pavel Lasák

Přidáno: 03.05.11 17:07

To Bob: ThisWorkbook.Application.Caption = "office.lasakovi.com" funguje v MS Excel. Kód pro MS Access bohužel nevím z hlavy.

Petr Nový

Přidáno: 18.05.11 08:18

Dobrý den, poraďte mi prosím jak spolehlivě dostanu data z DDE serveru do makra. Nalinkoval jsem buňky sešitu na DDE server, ale jednou za den komunikace spadne. Děkuji, Petr

jakub

Přidáno: 18.05.11 09:56

Dobrý den, potřeboval bych makro které mi vypíše absah všech vyplněných buněk do txt souboru, a jednotlívé záznamy oddělí středníkem.

Pavel Lasák

Přidáno: 18.05.11 19:02

To Petr: tohle bohužel nevím, možná poradí někdo z čtenářů.

Pavel Lasák

Přidáno: 18.05.11 19:03

To Jakub: Nešlo by soubor uložit jako *.csv a pak přejmenovat (export umí automaticky oddělovat středníkem)? V buňkách jsou pouze data, nebo i vzorce (vzorec jako číslo nebo daný vzorec)? desetinná čísla jsou oddělena čárkou nebo tečkou? Každý řádek bude mít odpovídající řádek v txt souboru, nebo všechna data v jednom "nekonečném" řádku?

awr

Přidáno: 31.05.11 19:36

Dobry den, mam dotaz jestli lze vlozit pomoci maker do nazvu ukladaneho exceloveho sesitu hodnotu z urcite bunky. Napriklad na listu "a" mam v bunce "A1" hodnotu "test" - tak by se ukladany soubor jmenoval "test.xlsx". Jde mi o to abych mohl hodnoty v bunce menit a ukladat tak soubor pod ruznymi nazvy pomoci nejakeho cyklu. diky

Pavel Lasák

Přidáno: 31.05.11 21:20

To awr: Jasně jde ID_nazev = Worksheets("List1").Cells(1, 1) UkladanySoubor = "C:\data\" & ID_nazev & ".xlsx"

awr

Přidáno: 31.05.11 22:07

Diky moc, uz to slape!

Fik

Přidáno: 01.07.11 16:32

Dobrý den, mam napragramované automaticke ukladani a potreboval bych nastavit do Filename ulozeni do mista ulozeni puvodniho souboru.

Pavel Lasák

Přidáno: 01.07.11 18:05

To Fík: Tj. Zjistit adresář v kterém se aktuální soubor nachází nebo kompletní cestu?

Fik

Přidáno: 04.07.11 13:00

Zjistit adresář, ve kterém se aktuální soubor nachází by mi stačilo, dál už bych to udělal sám

Tomas

Přidáno: 07.07.11 12:46

Zdravím všechny ve spolek řeším věc, u které si ani nejsem zcela jist, že to lze vyřešit : ) ... Potreboval bych vykoumat makro script, který by v podstatě dělal následující. Někde na disku je soubor s údaji o výkonnosti zaměstnanců (linka1 měla produktivitu 93% v týdnu1, z toho 2% ztrátovost, tyden 2 až třeba 20) a teďka to makro by mělo umět na zmáčknutí natáhnout tyto data do sebe, a potom z nich vytvořit grafy ve formátu graf 1 : linka1 OsaY=procenta, osaX=daný týden, s tím, že pro každou linku to uděla vlastní graf, ideálně na samostatný list, nebo stránku tak, aby se to pak dalo rovnou tisknout

Pavel Lasák

Přidáno: 07.07.11 20:32

To Fik: Adresar = ThisWorkbook.Path

PavelD

Přidáno: 08.07.11 14:25

Dobrý den, prosim o radu, ve FRM zadám datum do Textboxu1 8/7 (zobrazí 8.7.2011) v Textoxu2 potřebuji aby dle data TXB1 byl ihned zobrazen automaticky den ( pátek ). Nevím zda to vůbec jde.

Pavel Lasák

Přidáno: 08.07.11 20:45

To PavelD: Stačí změnit formát a ten zobrazit. Range("A2").Select ActiveCell.NumberFormat = "DDDD" TextBox2.ControlSource = "A2"

David Fiala

Přidáno: 10.08.11 12:32

Dobrý den, potřeboval bych najít pomocí VBA soubor (edgecam.exe), který se nachází vždy na C:\Program Files\ ..... nějaký jeden adresář ..... \CAM\EdgeCam.exe . Pokud máte nějaké návrhy na elegantní řešení , tak vám budu moc vděčen.

Fik

Přidáno: 18.08.11 11:33

Dobrý den, mám formulář s několika comboboxy, které se vnázvu lyší pouze číslem. Potřeboval bych jejich hodnoty zapsat do tabulky a nechce se mi to zadávat pro každý zvlášť, proto jsem zkusil napsat cyklus, ale nějak mi to nechce fungovat. For i = 1 To 6 If (cboPolozka & (i)) = "" = False Then (cboPolozka & (i)).Value = ActiveCell.Value End If i = i + 1 Next Děkuji

Petr Nový

Přidáno: 14.09.11 11:49

Dobrý den, potřebuji si spouštět skript každou minutu. Poraďte mi prosím jak se dá tohle v VBA jednoduše zařídit. Diky, Petr

Pavel Lasák

Přidáno: 15.09.11 16:42

To Petr: Sub Spust1minuta() Application.OnTime Now + TimeValue("00:01:00"), "MujSkript" End Sub Popsáno v článku http://office.lasakovi.com/excel/vba-triky/vba-excel-ukonceni-makrem/

Petr Nový

Přidáno: 26.09.11 15:26

OK, diky. Petr

Stano

Přidáno: 30.09.11 22:05

Zdravím všechny koumáky,prosím poraďte Pomocí DDE se mění data v buňce A1. Prosím poraďte jak je dostat do do aktivní buňky( ta se posouvá), tak aby se se změnou v A1 ( ta starší buňka bývale aktivní ) nepřepisovala. Moc díky!

Tomáš

Přidáno: 19.10.11 08:55

Ahoj vložil jsem si makro pro "hod kostkou" (randbetween), ale potřebuji, aby se mi tato hodnota nepřepočítávala, přičemž přepočet ostatních buněk musí fungovat i nadále. Díky za radu.

Pavel Lasák

Přidáno: 19.10.11 16:24

To Stano: S DDE nepracuji, takže odpověď nevím, ale možná někdo s čtenářů poradí.

Pavel Lasák

Přidáno: 19.10.11 16:26

To Tomáš: Co dát randbetwenn do podmínky if.

Tomáš

Přidáno: 20.10.11 08:40

Mám na mysli vytvoření tlačítka, po jehož stisknutí se mi do aktuální buňky vyplní hod kostkou. Pak si označím další buňku, provedu totéž, ale chci, aby se mi předchozí hod nenahradil novým náhodným hodem. Pokud to lze pomocí if, prosím konkretizovat (nejsem moc maker znalý). Děkuji pěkně

Pavel Lasák

Přidáno: 20.10.11 16:09

To Tomáš: podmínky if then else

Martin

Přidáno: 09.11.11 18:22

Pěkný večer potřeboval bych radu jak provest součet hodnot ve sloupci když na první buňku sčítané oblasti ve sloupci(nikdy nesčítám celý sloupec) mě dostane podmínka a poslední buňka je poslední hodnota ve sloupci. Výsledný součet potřebuji zapsat do jiného sloupce a jiného řádku. Díky za návrhy

Zdeněk

Přidáno: 23.11.11 17:03

Zdravím, jsem makrový analfabet a potřeboval bych poradit. Pro automatické zkoušení slovíček používám toto makro: Sub Makro1() If Range("r3") <> "Zkoušení slovíček a konverzace pouze ručně." Then 'napiš Zkoušení slovíček a konverzace pouze ručně. do buňky f3 pro zastavení kódu Application.OnTime Now + TimeValue("00:00:10"), "my_Procedure" Else MsgBox "To už vše umíš že končíš? Nebyl bych si tím tak jistý.", vbOKOnly + vbInformation, "Chceš opradu skončit automatické zkoušení?" End If End Sub Vše v pohodě funguje, ale já bych potřeboval měnit čas cyklu v tomto případě 10 sekund třeba na 15 s. Doposud si vždy přepíšu čas v makru, ale potřeboval bych někde v listě mít proměnné číslo(čas), které by se měnilo automaticky v makru. Děkuji, případně sešit mohu poslat.

Pavel Lasák

Přidáno: 23.11.11 23:11

To Zdeněk: MujCas = "12:12:12" y = TimeValue(MujCas) MsgBox y

Zdeněk

Přidáno: 27.11.11 16:01

Díky, ale jak jsem psal, jsem VBA analfabet (makro mi kdysi dělal známý) a já nevím, jak to mám do toho svého makra zadat :(

Pavel Lasák

Přidáno: 27.11.11 19:41

To Zdeněk: Pošlete soubor na lasak@centrum.cz pokusím se doplnit.

Luboš Novák

Přidáno: 14.12.11 11:59

Lze zamknout jen list. Potřebuji editovat sdílený sešit několika uživateli na "SVÝCH" listech, ke kterým by se dostali přes heslo. Nebo byste použili jiný způsob. Děkuji

Pavel Lasák

Přidáno: 14.12.11 17:30

To Luboš Novák: Lze v Excel 2007, 2010, karta Revize - zamknout list. A zvolíte si zda s heslem nebo bez hesla.

claire

Přidáno: 04.01.12 14:13

ahoj, mám dotaz.. mám v excelu asi 70 listů a potřebuju, aby jeden záznam makra fungoval po spuštění na všechny listy najednou, abych nemusela jednotlivě překlikávat a spouštět makro.. jak na to? díky!

Pavel Lasák

Přidáno: 04.01.12 16:02

To Claire: Vložit makro do ThisWorkbook nebo ho vytvořit v modulu. A doplnit jej o výběr všech listu. Sheets(Array("List1", "List2", "List3")).Select

Zdeněk

Přidáno: 04.01.12 21:03

Zdravím, nějak nemůžu zkloubit dohromady funkci průměr a když. Udělal jsem nějaké měsíční vyhodnocení v buňce B1:B12. V buňce B13 mám vzorec =průměr(B1:B12). Pokud budu mít všechny měsíce vyplněny nějakou hodnotou, tak průměr funguje. Jenže když budu mít vyplněný třeba pouze leden 2012, tak celoroční průměr není pravdivý, protože data z února - prosince mít zatím nebudu. Potřeboval bych, aby vzorec v B13 ignoroval buňky s nulou. Děkuji za odpověď a přeji hezký večer.

Zdeněk

Přidáno: 04.01.12 21:34

Tak už jsem to zjistil co tam napíšu za vzorec :). =AVERAGEIF(B1:B12;"<>0"). Já se vzorec snažil stále napsat česky a nějak my to nešlo. Je možné, že vzorec lze napsat asi i jiným způsobem. Ale i tak děkuji. Vaše stránky, kde čerpám hodně informací a návodů jsou super. Ještě jednou díky.

Pavel Lasák

Přidáno: 05.01.12 16:39

To Zdeněk: Gratuluji a děkuji. Jak se říka, nejrychlejší pomoc najdeš na konci své paže :)

Petr_N

Přidáno: 24.02.12 13:29

Dobrý den, mohl byste mi poradit jak ve VBA operovat (tj číst a zapisovat) s jednotlivými bity v proměnné typu integer? Diky, Petr

Pavel Lasák

Přidáno: 24.02.12 21:52

To Petr_N: Přečíst údaj z buňky http://office.lasakovi.com/excel/vba-listy-bunky/precti-udaj-do-bunky-excel-vba/ a přes textové funkce najít požadovaný znak http://office.lasakovi.com/excel/funkce/ms-excel-funkce-textove/ jen je nutno ve VBA použít anglické názvy funkcí http://office.lasakovi.com/excel/funkce/ms-excel-funkce-cz-en/

Tomáš Sláma

Přidáno: 12.03.12 19:43

Dobrý den, někdo se tu v diskuzi ptal, jak udělat, aby se makro spouštělo opakovaně za určitý časový interval. Řeším ten samý problém. Dané řešení však provede makro MujSkript jen jednou: Sub Spust1minuta() Application.OnTime Now + TimeValue("00:01:00"),_ "MujSkript" End Sub Kód jsem upravil na: Sub Spust5sekund() Application.OnTime Now + TimeValue("00:00:05"),_ "Spust5sekund" Call MujSkript End Sub Kód funguje, akorát bych potřeboval poradit, jak ho z prostředí listu vypnout, např. jiným tlačítkem a ne Ctrl+Break. Ještě bych se chtěl zeptat, jak časový interval opakování v sekundách zadat v buňce listu, aby se nemusel zadávat ve VBA kódu. Předem děkuji za odpověď!

Pavel Lasák

Přidáno: 13.03.12 19:39

To Tomáš Sláma: Čas z buňky: MujCas = "12:12:12" y = TimeValue(MujCas) MsgBox y třeba přes jinou klávesu Sub DemoOnKey() Application.OnKey "{TAB}", "MojeZprava" End Sub Sub MojeZprava() MsgBox "Stisk Tabelatoru" End Sub nebo doplnit o funkci if then, které bude kontrolovat stisk tlačítka

Lukas

Přidáno: 28.03.12 12:44

Ahoj, prosim Ta, vytvoril som uz nejaky formular, ale potreboval by som kontrolu zadanych udajov. Priklad: Mam 2 polia: meno a priezvisko. Tieto dve hodnoty zapisujem do buniek A1 a A2 po kliknuti na OK. Ale chcel by som pridat podmienku, ze ak je prazdne pole Meno alebo Priezvisko, tak vyhodi msgbox A opat sa vratim do formulara, kde ale osatnu vypisane vsetky predosle udaje a mozem doplnit chybajuce pole. Dufam, ze som to napisal zrozumitelne :)

Pavel Lasák

Přidáno: 28.03.12 20:41

TO Lukáš: to je na článek, zkusím připravit a publikovat

Lukas

Přidáno: 30.03.12 08:28

Ahoj opat. :) Predosly problem som uz vygooglil, len som tam pridal if a end sub ak nastane taky problem. Skor ma zaujima iny problem a to praca s premennymi. Mas formular ktory vyplnis, stlacis tlacitko OK a tieto vyplnene polia sa ti zapisu do buniek. Ale je tam dalsie tlacitko (Vytvor subor) ktore spusta export buniek do .txt suboru. Problem je, ze pokial vyplnim formular a nedam OK, ale rovno Vytvor subor tak neviem skontrolovat, ci v tych poliach vo formulari je nieco zadane alebo nie. Opat zavolat OK tlacitko nemozem, pretoze su v nom kontroly na prazdne polia... Proste by som potreboval vytiahnut nejaku hodnotu z jedneho sub a vediet s nou pracovat v druhom. Snad je to normalne napisane:)

Dan

Přidáno: 31.03.12 20:30

Dobrý den, potřeboval bych radu ohledně automatického filtru. Vím, že pokud chci zobrazit více položek ve filtru musím použít pole Array, ale nevím jak do něj dostat hodnoty těch položek když předem nevím kolik jich budu zobrazovat. Položky co se nacházejí v tom filtru mám na jiném listu a jejich zobrazení bych určoval hodnotou ano/ne ve vedlejší buňce. Děkuji za nějakou radu.

Kuvap

Přidáno: 04.04.12 13:33

Filtroval bych to přes kriteriální tabulku kterou bych vytvořil na základě vstupních položek a jejich logické hodnotě přes fci když.

Dan

Přidáno: 04.04.12 18:53

to Kuvap: tomu vůbec nerozumím.

Dan

Přidáno: 06.04.12 13:29

to Kuvap: Tak už jsem to udělal, dík za radu.

František

Přidáno: 10.05.12 23:49

Prosím vbs scriptem pustit Outlook. Nějak se mi to nedaří. Set object.Outlook = WScript.createObject("Outlook.Application") Outlook.Visible = true Outlook.Add End If ?? Děkuji ??

Pavel Lasák

Přidáno: 11.05.12 15:12

To František: Takhle funguje? Shell ("OUTLOOK")


Přidání nového komentáře




(vlož číslo šest)

Z bezpečnostních důvodu dočasně nemůžete použít HTML značky a URL. Děkuji za pochopení.
Děkuji, za Vaše 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 14.05.2012:
Kombinování funkcí - vzorců.

Nejčtenější článek




Google+

  

Facebook

facebook  

Novinky

Word: 12.5.2012:
Matematické rovnice (vzorce) - Word 2010

Excel: 14.05.2012:
Kombinování funkcí - vzorců

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í

Poděkování patří hlavně mojí nejbáječnější manželce.

LinkedIN

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á | 1953

Tento web zatím neprošel jazykovou korekturou. Beta verze redakčního systému.