Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel - volání makra

Lze makro v Excelu 2002 navrhnout tak, aby zavoláno na libovolném listu, provedlo svou "činnost" a pak se vrátilo zpět na buňku a list, ze kterého bylo zavoláno. Zřejmě na jeho začátku bude uložení pozice při vyvolání (list, buňka) do pomocných proměnných a na jeho konci selecty na takto uloženou pozici. Předem díky za pomoc.

Předmět Autor Datum
Takmer vždy ide makro napísať tak, aby sa pri vykonaní svojej činnosti vôbec nezmenila aktuálne vybr… nový
los 05.05.2008 22:31
los
Ak vyzerá makro napríklad takto: Sub Leden() Sheets("Osnova").Select Range("B5").Select ActiveCell.… poslední
los 06.05.2008 20:20
los

Takmer vždy ide makro napísať tak, aby sa pri vykonaní svojej činnosti vôbec nezmenila aktuálne vybraná bunka (resp. rozsah buniek). Ak makro zbytočne mení vybranú bunku, môže to výrazne spomaliť jeho vykonanie.

Ak makro predsa len mení aktuálny list a bunku, tak potom musíš postupovať presne tak, ako si napísal. Aktuálnu pozíciu zistíš pomocou vlastností ActiveSheet a ActiveCell alebo Selection.

Ak vyzerá makro napríklad takto:

Sub Leden()
    Sheets("Osnova").Select
    Range("B5").Select
    ActiveCell.FormulaR1C1 = "1"
    Calculate
End Sub

Tak po upravení by mohlo vyzerať takto:

Sub Leden()
    Range("Osnova!B5").Value = 1
    Calculate
End Sub

Zpět do poradny Odpovědět na původní otázku Nahoru