[ zeljko1967 @ 12.11.2015. 08:26 ] @
Možda previše zahtjevam, ali ipak molim za pomoć. Da li postoji neka opcija u excelu kojom bi se omogućilo da se ne vidi šta radi određeni makro?
Dakle, htio bih da se na monioru ne prikazuje šta radi makro koji pokrenem, jednostavno zbog izgleda. Hvala.
[ djoka_l @ 12.11.2015. 08:39 ] @
Sledeće dve opcije su korisne kod makro koji dugo rade, a za to vreme "brljaju" po podacima na radnom listu:

Ova komanda isključuje ažuriranje ekrana:

Application.ScreenUpdating = False

A ova ponovo uključuje:

Application.ScreenUpdating = True

Ukoliko rad makro usporava neprekidno rekalkulacija, isključuje se sa:
Application.Calculation = xlCalculationManual

A uključuje sa
Application.Calculation = xlCalc

[ zeljko1967 @ 12.11.2015. 10:15 ] @
Hvala. Samo još kada bi mi rekao da li ove komande treba ubaciti i makro ili...?
[ djoka_l @ 12.11.2015. 10:17 ] @
Pa, naravno. Ubace se u makro pre nego što se krene u obradu i na kraju makroa se vrate na podrazumevanu vrednost...

Evo dela koda iz jednog mog fajla

Code:

'   Procedura zaustavlja automatsko azuriranje pivot tabele priliko izmena.
'   Na sporijim racunarima primetno je treptanje (flickering) dok se pivot
'   preracunava kod svake izmene.
Sub StopCalculation()
    With Excel.Application
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = Excel.xlCalculationManual
    End With
End Sub

'   Ponovno ukljucivanje kalkulacije pivota, nakon sto se izmeni sve sto je
'   trebalo da bude izmenjeno
Sub Recalculate()
    With Excel.Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = Excel.xlCalculationAutomatic
    End With
    'Ovo dole nije potrebno! Cim se Excel.Apllication.Calculation izmeni
    'na xlCalculationAutomatic uradi sa i automatski RefreshAll
    'ActiveWorkbook.RefreshAll
End Sub