Eventos en Excel

O termo "Evento Excel» úsase para indicar determinadas accións realizadas polo usuario en Excel. Por exemplo, cando un usuario cambia unha folla de libro de traballo, este é un evento. Introducir datos nunha cela ou gardar un libro tamén son eventos de Excel.

Os eventos pódense vincular a unha folla de cálculo de Excel, a gráficos, a un libro de traballo ou directamente á propia aplicación de Excel. Os programadores poden crear código VBA que se executará automaticamente cando se produza un evento.

Por exemplo, para executar unha macro cada vez que o usuario cambia unha folla de traballo nun libro de Excel, crearía un código VBA que se executará cada vez que ocorra o evento. SheetActivate caderno de traballo.

E se queres que a macro se execute cada vez que vaias a unha folla de traballo específica (por exemplo, Sheet1), entón o código VBA debe estar asociado co evento Activar para esta folla.

O código VBA destinado a xestionar eventos de Excel debe colocarse na folla de traballo ou no obxecto do libro de traballo axeitado na xanela do editor VBA (o editor pódese abrir facendo clic Alt + F11). Por exemplo, o código que se debe executar cada vez que ocorre un determinado evento no nivel da folla de traballo debe colocarse na xanela de código para esa folla de traballo. Isto móstrase na figura:

No editor de Visual Basic, pode ver o conxunto de todos os eventos de Excel dispoñibles no nivel de libro, folla de traballo ou gráfico. Abre a xanela de código para o obxecto seleccionado e selecciona o tipo de obxecto no menú despregable da esquerda na parte superior da xanela. O menú despregable da dereita na parte superior da xanela mostrará os eventos definidos para este obxecto. A seguinte figura mostra unha lista de eventos asociados a unha folla de cálculo de Excel:

Eventos en Excel

Fai clic no evento desexado no menú despregable da dereita e inserirase automaticamente un procedemento na xanela de código para este obxecto submarino. á cabeza do procedemento submarino Excel insire automaticamente os argumentos necesarios (se os hai). Só queda engadir o código VBA para determinar que accións debe realizar o procedemento cando se detecta o evento desexado.

Exemplo

No seguinte exemplo, cada vez que se selecciona unha cela B1 na folla de traballo Sheet1 aparece un cadro de mensaxe.

Para realizar esta acción, necesitamos usar o evento da folla de traballo Cambio_selección, que ocorre cada vez que cambia a selección dunha cela ou rango de celas. Función Cambio_selección recibe como argumento Branco obxecto -. Así é como sabemos que intervalo de celas foi seleccionado.

evento Cambio_selección ocorre con calquera nova selección. Pero necesitamos que o conxunto de accións se execute só cando se selecciona a cela B1. Para iso, seguiremos o evento só no intervalo especificado Branco. Como se implementa no código do programa que se mostra a continuación:

"Código para mostrar unha caixa de mensaxe cando se selecciona a cela B1" na folla de traballo actual. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Comproba se a cela B1 está seleccionada Se Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then 'Se a cela B1 está seleccionada, fai o seguinte MsgBox "Tes seleccionou unha cela B1" End If End Sub

Deixe unha resposta