Nov 05 2009

Przypisywanie makr do przycisków

Posted by Marcin

Budując arkusze z wieloma makrami uruchamianymi przez zawarte w tym arkuszu przyciski możemy w prosty sposób napisać makro zarządzające wszystkimi tymi przyciskami.

Na marginesie dodam, że w przypadku konieczności użycia przycisków tylko do uruchamiania makr lepiej jest użyć przycisków z paska narzędzi Formularze, a nie z paska narzędzi Przybornik formantów, ponieważ przyciski z Przybornika formantów to kontrolki ActiveX, mające wprawdzie dużo większe możliwości, ale również dużo większy apetyt na zasoby systemowe. Jeśli chcemy budować arkusze szybkie i proste, musimy dobierać narzędzia jak najbardziej adekwatne do zadań.

Jeśli mamy na arkuszu wiele przycisków, z których każdy uruchamia inne makro, dla każdego z tych przycisków musimy się przedzierać przez kilka czynności: prawy przycisk i Przypisz makro, wybór makra z listy, nazwa przycisku… istnieje jednak dość prosty sposób na napisanie jednego makra, przypisanie go do wszystkich przycisków, a mimo to przyciski będą uruchamiały różne makra. Dzięki temu nie będziemy musieli za każdym razem przewijać długiej listy makr, aby znaleźć to właściwe.

Procedura postępowania jest w tym wypadku banalna. Wstawiamy moduł standardowy (ALT+F11/Insert/Module) i wpisujemy poniższy kod:

 
Sub WhichButton()
	Run Application.Caller
End Sub
 

W tym momencie każdemu przyciskowi nadajemy taką samą nazwę jak nazwa makra, które powinien on uruchomić. Aby nadać nazwę przyciskowi pochodzącemu z paska narzędzi Formularze, należy kliknąć na nim myszką i zmienić nazwę wyświetloną w polu Nazwa (na lewo od paska formuł). Ostatni krok to przypisanie do przycisków makra WhichButton. Czynności te powtarzamy dla wszystkich przycisków.

Filed under : VBA, Wszystkie | No Comments »

Leave a Reply