< návrat zpět

MS Excel


Téma: Dialog rss

Zaslal/a 5.2.2012 23:48

Ahoj,
potřeboval bych poradit, v excelu dělám už delší dobu, momentálně ve 2007 doma a ve 2003 v práci. Vytvořil jsem si dialog, který bych potřeboval aktivovat v určitém listu, jsem absolutní laik v makrech a tento dialog mi jde spustit jen v dialogovém listě tlačítkem spustit dialog, je to pro mne nepraktické, potřeboval bych ho spouštět automaticky třeba rovnou při otevření sešitu. Jde to nějak takto zprovoznit? Díky za případnou pomoc. Jirka 1

Zaslat odpověď >

Strana:  1 2   další »
#007195
avatar
Platí pro Excel 2003
- v Excelu ALT+F11
- V levo musí být okno "VBA Project" nebo mačkej CTRL + R
- Naklepej svůj sešit a v něm "ThisWorkbook"
- Nahoře jsou dva rozbalovací seznamy. V levém je (General) ... změň jej na Workbook
- V pravém si najdi "Open"
Vygeneruje se ti prázdná procedura Open ... dopiš do ní co potřebuješ ... tj spuštění formsu.

Private Sub Workbook_Open()
' Pozdrav při spuštění
MsgBox "Hallo world"
' Spuštění jiné procedury v jiném modulu (otevření formsu)
Module1.MojeProcedura
End Sub

Jednodužší je na makro nastavit kombinaci kláves a pak spouštět kdykoliv forms přes zkratkové klávesy. R.citovat
icon #007198
admin
Pokud by jste chtěl makro spustit na konkrétním listu, tak ve "VBA Project" zvolte list a do níže uvedené události zadejte Váš kód.

Private Sub Worksheet_Activate()

End Sub
citovat
#007199
avatar
Tak jsem to zkousel, ale jak uz jsem psal, jsem na makra uplny zacatecnik, takze mi to nefunguje. Neco musim delat spatne. Neslo by to pleas trosku detailneji a konkretneji, co mam kam psat a kdyz to mam napsane, co s tim dal a jak do toho pridam tu zkratku pro otevirani. Je tam toho dost a doplnuji, ze anglicky taky neumim 1. Diky za cas.citovat
#007200
avatar
Jeste bych se zminil, ten dialog jsem vytvoril vlozenim dialogoveho listu, makra jsem vubec nespoustel, ted mam list dialogu a to je to jedine misto, kde dialog spustim 4citovat
icon #007201
Poki
no, asi bude nejlepsi, kdyz vlozis soubor, protoze z toho popisu nikdo poradne neodhadne, co vlastne potrebujes pri jake udalosti spustit, jestli je to UserForm nebo primo nejakou proceduru, apod...citovat
#007209
avatar
Díky za pomoc a bližší info o postupu, děkuji a s pozdravem Maxim 1
Příloha: rar7209_formular-skody.rar (31kB, staženo 28x)
citovat
#007210
avatar
To se poddá ... aby ses taky něco naučil a né jen stupidně odevzdat a získat opravu, je vhodné si toto udělat sám. Je to velmi jednoduché.

Kontroluj si co děláš ... a postupuj podle návodu.

Udělal sis na makra Modul1 ... dobrá. V modulu oprav proceduru takto

Sub stahovací1_Změnit()
DialogSheets("Formulář škody").Show
End Sub

Najdi si okénko "VBA project"
Najdi v okně "VBA project" "ThisWorkbook"
Najdi v rozbalovacím seznamu "ComboBox(y)" výběr Workbook a Open - jak je psáno výše.
Vygeneruje se Ti prázdná procedura Workbook_Open do které vložíš volání procedury v "Modul1"

Private Sub Workbook_Open()
Call Module1.stahovací1_Změnit
End Sub

Nakonec si najdi v "MENU Excelu" dialog s Makry a nastav si zkratkovou klávesu pro vyvolání dialogu v době kdy to potřebuješ TY jako user a né jen při otevření sešitu.

Pak si vlož do listu, kde se ti zlíbí, malý obrázek a přiřaď mu makro stahovací1_Změnit. Uvidíš že se Ti to bude líbit.

Pak si uvědomíš, že dialog vlastně nemusíš vidět, a že je hezčí, když uvedený list prostě skryješ.

Vítej v klubu ...citovat
#007211
avatar
Hned jsem zkusil dle navodu, ale nekde mam asi chybku. Po kliknuti na obr. se objevi nejaka chyba viz. foto. prosim o pomoc. otazecka: v makru jsou dva moduly, zapsal jsem to do mudulu1citovat
#007212
avatar
Tak ted bohuzel foto nezaslu, pres tel. je to problem. tak zkusim vysvetlit. pri kliknuti na obr. se objevi dialog Run-time error 9, subscript out of range, kliknu na debug, otevre se mi makro se zlute oznacenym radkem DialogSheets("Formulář škody").show. je to v okne s nazvem seznam materialu.xls - Module1 (Code)citovat
#007214
avatar
Zkusíme něco jiného.
V Excelu (2003) si najdiv Menu Nástroje->Makro->Makra (Nebo Alt+F8). V seznamu najdi jméno makra "stahovací1_Změnit" a jednou na něj klepni. Pak klepni na tlačítko Možnosti a stiskni "SHIFT + B". Pak to všechno potvrď a zavři. Na kterémkoliv listě zkus spustit kombinaci CTRL+SHIFT+B. Pokud se Ti nic nezobrazí, nebo to skončí chybou, pak se podívej na jména listu v sešitě a v makru ... jestli jsi v mezidobí nepřejmenoval listy :( Taky bych doporučil odstranit diaktriku v názvu procedury. R.citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Vodorovný teploměr v buňce

GeorgeK • 1.12. 12:26

Vodorovný teploměr v buňce

elninoslov • 1.12. 10:21

Vodorovný teploměr v buňce

Stalker • 1.12. 10:01

Vodorovný teploměr v buňce

GeorgeK • 1.12. 9:15

Spustit makro v určitý čas

Baja • 28.11. 20:11

Spustit makro v určitý čas

elninoslov • 28.11. 17:09

Spustit makro v určitý čas

Baja • 28.11. 12:51