< návrat zpět

MS Excel


Téma: Info okno o běhu makra rss

Zaslal/a 21.10.2010 10:32

Zdravím,

nějak nemůžu vymyslet určitě jednoduchou věc. Potřeboval bych, aby za běhu makra, bylo zobrazeno okno, že se makro zpracovává a po dokončení běhu makra se zase automaticky zavřelo. Pořád se nemohu nějak zbavit tý potřeby mačkat na nějaké tlačítko u msgboxu.
Díky za případnou pomoc

Zaslat odpověď >

Strana:  1 2   další »
#002823
avatar
Nejsem odbornik,ale zkusil bych něco takovýho: do kódu makra vložit userform "zpracovávám makro"
na začátek tvýho makra userform.show
na konec makra userform.hidecitovat
#002824
avatar
Přesně tak, lze vytvořit user form bez tlačítka, dát tam nějaký text, obrázek nebo něco podobného.. Na začátku makra zavolat show s na konci hide, ale UserForm mus být volán Modálně. Lze nastavit ve vlastnostech na hodnotu true... Pokud se to tak nudělá, tak zavolaný UserFrom zastaví běh makra a čeká na reakci od uživatele...citovat
#002826
avatar
No výborně...to je pro mě trochu matrix 2, userform vidím dneska prvně.Jdu ho tedy zkusit nastudovat. Díky za radu, snad to dám dohromady.citovat
#002827
avatar
Ostatní nabízejí velmi sofisstikovná řešení já používámApplication.DisplayStatusBar = True
Application.StatusBar = "Makro pracuje"
Lze doplnit o proměnné nebo text, který mě informuje o průběhu zpracování makra a přet exitem dámApplication.StatusBar = False
citovat
#002829
avatar
No vida, zase jsem o něco chytřejší, tímhle se nikdy nic nezkazí, avšak v mém případě by se mi přeci jen o trochu víc líbilo okno uprostřed obrazovky.V tom stavovém řádku si toho běžný uživatel většinou nevšimne a při delším zpracování by mohl být nervózní. 2 Každopádně už jsem tyhle tři řádky přidal do svého makra.citovat
#002836
avatar
Pak je to poněkud složitější třeba tak:
Application.ScreenUpdating = True
With ActiveSheet.Shapes.AddTextEffect(msoTextEffect22, _
"Všeho zanech nyní za tebe pracuje makro", "Impact", 36#, msoFalse, msoFalse _
, 246.75, 282.75)
.Name = "Info"
End With
Application.ScreenUpdating = False

a na konci:
Application.ScreenUpdating = True
ActiveSheet.Shapes("info").Select
Selection.Delete
citovat
#002839
avatar
Taková informace na obrazovce se mi líbí. Tady je natvrdo dána pozice TOP, takže pokud je viditelná obrazovka jinde, tak text není vidět. Šlo by to udělat, aby se text zobrazil v aktivním zobrazení sešitu, event. ve vztahu k aktivní buňce 7 ?citovat
#002840
avatar
StatusBar vypadá velmi zajímavě, ale je trochu nepraktický, pač informace v něm se ukazuje na naprosto nenápadném místě. Proto raději používám UserForm, který si umístím kam chci a můžu na něj přidávat třeba i grafiku v podobě načítáacích koleček, běhacích teček a podbných blbostí 2citovat
#002844
avatar
Samozřejmě user form je asi nejelegantnější, status bar nejsnadnější. Možností řešení je mnoho, pro paveku vlož do ThisWorkbook

Public Napis As Shape
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Napis.Delete
End Sub

Private Sub Workbook_Open()
Set Napis = ActiveSheet.Shapes.AddTextEffect(msoTextEffect22, _
"Nyní pracuješ na listu " & ActiveSheet.Name & " buňce " & ActiveCell.Address(False, False), "Impact", 36#, msoFalse, msoFalse _
, 246.75, 282.75)
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Set Napis = ActiveSheet.Shapes.AddTextEffect(msoTextEffect22, _
"Nyní pracuješ na listu " & Sh.Name & " buňce " & ActiveCell.Address(False, False), "Impact", 36#, msoFalse, msoFalse _
, 246.75, 282.75)
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Napis.Delete
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _
ByVal Target As Excel.Range)
Napis.Delete
Set Napis = ActiveSheet.Shapes.AddTextEffect(msoTextEffect22, _
"Nyní pracuješ na listu " & Sh.Name & " buňce " & Target.Address(False, False), "Impact", 36#, msoFalse, msoFalse _
, 246.75, 282.75)
End Sub

citovat
#002853
avatar
Myslel jsem trochu něco jiného. Aby se text zobrazil např. na pozici aktualního řádku. Nyní se zobrazí dle zadaných souřadnic, takže pokud mám obrazovku na řádku 500 tak to není vidět.
User form asi bude nejlepší. Jak se do něho vloží ty "blbosti" jak uvádí Koci.citovat

Strana:  1 2   další »

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