Teniu curiositat per escriure un procediment de gestió d'esdeveniments a VBA? El VBE us ajuda quan esteu preparat per escriure un procediment de gestió d'esdeveniments; mostra una llista de tots els esdeveniments per a l'objecte seleccionat.
A la part superior de cada finestra de codi, trobareu dues llistes desplegables:
De manera predeterminada, la llista desplegable Objecte a la finestra Codi mostra General.
Si esteu escrivint un gestor d'esdeveniments per a l'objecte ThisWorkbook, heu de fer clic a ThisWorkbook a la finestra del projecte i, a continuació, triar Workbook al menú desplegable Objecte (és l'única altra opció).
Si esteu escrivint un gestor d'esdeveniments per a un objecte de full, heu de fer clic al full específic a la finestra del projecte i, a continuació, triar Full de treball a la llista desplegable Objecte (de nou, l'única altra opció).
Després d'haver fet la vostra elecció a la llista desplegable Objecte, podeu triar l'esdeveniment a la llista desplegable Procediment. Aquestes són algunes de les opcions per a un esdeveniment relacionat amb el llibre de treball.

Escollint un esdeveniment a la finestra Codi per a l'objecte ThisWorkbook.
Quan seleccioneu un esdeveniment de la llista, VBE comença automàticament a crear un procediment de gestió d'esdeveniments per a vosaltres. Aquesta és una característica molt útil, perquè us indica exactament quins són els arguments adequats.
Aquí hi ha una petita peculiaritat. Quan seleccioneu per primera vegada el llibre de treball a la llista d'objectes, VBE sempre assumeix que voleu crear un procediment de gestió d'esdeveniments per a l'esdeveniment Obre i el crea per a vosaltres. Si realment esteu creant un procediment Workbook_Open, està bé. Però si esteu creant un procediment d'esdeveniment diferent, heu de suprimir el Workbook_Open Sub buit que s'ha creat.
Tanmateix, l'ajuda de VBE només arriba fins aquí. Escriu la instrucció Sub i la instrucció End Sub. Escriure el codi VBA que va entre aquestes dues declaracions és la vostra feina.
Realment no cal que utilitzeu aquestes dues llistes desplegables, però fer-ho us facilitarà la feina perquè el nom del procediment del gestor d'esdeveniments és molt important. Si no enteneu el nom exactament, el procediment no funcionarà. A més, alguns procediments de gestor d'esdeveniments utilitzen un o més arguments a la instrucció Sub. No hi ha manera de recordar quins són aquests arguments. Per exemple, si seleccioneu SheetActivate a la llista d'esdeveniments per a un objecte Workbook, VBE escriu la següent instrucció Sub:
Private Sub Workbook_SheetActivate (ByVal Sh com a objecte)
En aquest cas, Sh és l'argument passat al procediment i és una variable que representa el full del llibre de treball activat.