Velmi jednoduché makro v MS Excel 2003
-
21. září 2008 13:39
Dobrý den,
mohl by mi nějaký zkušenější kolega poradit, jak přesně napíšu makro tak, abych vytvořil tlačítko, po jehož zmáčknutí se v jiné buňce v listu vybere jistá položka v automatickém filtru? Denně by mi to ušetřilo spoustu času.
Děkuji za odpověď,
gaspaccho
Všechny reakce
-
21. září 2008 15:16Moderátor
Takto jednoduche makro nepis, proste zaznamenej kyzenou cinnost. Takze proste:
-
spust zaznam makra, nastav pozadovany filtr, ukonci zaznam makra a mas vytvorene (nahrane) makro - nazev bude nejspis standardne Makro1
-
vloz tlacitko - budes dotazan jake makro tlacitku priradit, priradis mu Makro1
-
klepni na tlacitko

Pozor, nezapomen si nastavit uroven zabezpeceni napr. na stredni, standardne jsou makra blokovana!
MP
-
-
21. září 2008 16:43
"Makro" je vytvořeno, teď nevím, jak vytvořit tlačítko. Upozorňuji, že jsem nic takového předtím nedělal

Děkuji.
-
21. září 2008 17:01
Tak už jsem to našel. Děkuji moc za radu na záznam makra.
S pozdravem,
JS
-
21. září 2008 17:17
Tak stejně ještě otázka
) jak nastavím, aby se makro spouštělo při změně určité buňky? Děkuji. -
21. září 2008 18:35Moderátor
Prosim oznac problem za vyreseny. Nicmene podle toho co pises se mi zda ze reisme neco co jsi nepopsal nastroji ktere na to nejsou vhodne.
Co presne potrebujes? Udelat dynamicky filtr? Na to muzes pouzit treba dropdown (cesky se tomu snad rika pole se seznamem) na ktery navazes filtraci.
MP
-
21. září 2008 18:44tohle se mi podarilo odzkouset v office 2003, neni to presne optimalni neb se to provede jakmile se skoci na bunku c5 tak se zobrazi hlaska hello:
takze pro vytvoreni daneho kodu kliknete na ousko daneho listu v excelu (dole co je napsano list1) pravym tlacitkem mysi a date volbu zobrazit kod, nahore z rolovaciho menu vyberete worksheet a selectionchange to Vam automaticky do kodu vlozi 2 radky:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C5")) Is Nothing Then
Exit Sub
Else
MsgBox ("hello") 'sem si napiste co se ma delat pri zmene bunky c5
End If
End Sub
Pak jsem nasla jeste moznost http://en.allexperts.com/q/Excel-1059/Macro-run-cell-changes.htm ale do jsem nerozchodila -
22. září 2008 7:45Moderátor
Ahoj a dik,
tomu bych se prave radeji vyhnul - spousted kod v podstate VZDY kdyz se zmeni COKOLIV v sheetu, proto bych volil jednoucelovy prvek (treba ten listbox)
jinak mi chodilo bez problemu toto:
VBAPrivate Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "List1" And Target.Address = "$A$1" Then
Worksheets("List1").Range("D1").AutoFilter _
field:=1, _
Criteria1:="qwe"
End IfEnd Sub
MP