< návrat zpět

MS Excel


Téma: 2 makra v jednom sešit rss

Zaslal/a 11.4.2011 20:51

Dobrý den, moc prosím o radu.
Mám v souboru s kalkulací vytvořené makro (makro1), které kopíruje list s kalkulací do jiného souboru. Toto makro mám uložené jako tento sešit.
Na listu s kalkulací mám ale navíc combobox, ke kterému musí být přiřazeno další makro (makro2), a to mám napsané přímo v listu s kalkulací.
Problém je, že pokud spustím makro1 - tak nějak se mi pak spustí i to makro2, zacyklí se to a sekne se to.
Můžu to nějak omezit, aby se makro2 spouštělo jen při práci s combem nebo ty makro uolžit jiným způsobem ...
Děkuji moc za jakýkoliv návrh či radu.
Bára

Zaslat odpověď >

icon #004601
Poki
Predpokladam, ze makro2 je nejaky druh udalostni procedury, ze spousti po nejake akci vykonane s comboboxem.
Tyto udalostni procedury lze zakazat prikazem:
Application.EnableEvents = False

Tedy, na zacatku vaseho makra 1 zadejte prikaz:

Application.EnableEvents = False


a na konec makra1 prikaz:

Application.EnableEvents = True


(tim se opet vratite do puvodniho stavu.
Snad to pomuze...citovat
#004622
avatar
Dobrý den,

moc děkuji za odpověď - vyzkoušela jsem - ale bohužel nefunguje.

Udělala jsem zjednodušenou verzi svojí kalkulace - přikládám v souboru - moc by mi pomohlo, kdybyste se na to mrkl - myslím, že pro zkušeného excel mazáka to snad nebude neřešitelný problém.

Jen stručný popis k souboru - v souboru "zkouška.xlsm" - na listu "kalk-PE" je kalkulace s comboboxem (makro ke comboboxu skrývá určité řádky, které jsou pro typ výrobku nepodstatné).

Poté, co uživatel zadá kalkulaci, přejde na list "zadávací", kde si zadá cestu a soubor, kam spuštěním tlačítka "vytvořit new kalk" list s kalkulací přesune. K tlačítku je přiřazené makro Vyrobek1 uložené v ThisWorkbook.

Když ale makro spustím, zacyklí se mi v makru od comba. Hlášku Application.EnableEvents jsem použila, leč neúspěšně.

Budu opravdu vděčná za radu.

Děkuji a zdravím

Bára
Příloha: zip4622_zkouska.zip (37kB, staženo 15x)
citovat
icon #004661
Poki
Zkuste do kodu, ktery skryva radky doplnit...
If ComboSkryvaniRadku.ListIndex = -1 Then Exit Sub

Private Sub ComboSkryvaniRadku_Change()
If ComboSkryvaniRadku.ListIndex = -1 Then Exit Sub

Dim lngRow As Long
Dim lngColumn As Long
lngColumn = Me.Range("H3")
For lngRow = 4 To 15
If Not Me.Rows(lngRow).Hidden = (Me.Cells(lngRow, lngColumn).Value = 0) Then
Me.Rows(lngRow).Hidden = (Me.Cells(lngRow, lngColumn).Value = 0)
End If
Next
End Sub
citovat

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje