Eventos de gráficos incorporados usando VBA no Excel

Usar eventos de planilha de gráfico (planilha especialmente para gráficos) é bastante simples. Mas quando se trata de usar eventos em gráficos incorporados, não é tão simples. Mas garanto que eventos com gráficos incorporados não são tão difíceis de ativar. É muito parecido com a criação de eventos de aplicativo. Portanto, sem mais demora, vamos começar.

Portanto, há duas etapas para ativar um evento de gráfico incorporado. O primeiro é criar uma classe de evento de gráfico e definir eventos. O segundo é criar um objeto dessa classe de evento. É isso.

Etapa 1: Criar classe de evento de gráfico e definir eventos

  • Insira um módulo de classe. Nomeie como quiser. Eu o chamei de ChartClass.
  • Defina uma variável de evento do tipo Chart com a palavra-chave WithEvents.
    Com eventos privados CEvents como gráfico
  • Inicialize este evento na sub-rotina class_initialize ().
    No menu suspenso à esquerda, selecione turma. Depois, no menu suspenso superior direito, selecione inicializar.

    Private Sub Class_Initialize () Set CEvents = ActiveSheet.ChartObjects (1) .Chart End Sub 

    Aqui, estamos inicializando o gráfico CEvents com o primeiro gráfico criado nessa folha. O 1 é o número de índice de objetos de gráfico na planilha ativa.

  • Agora defina os eventos que deseja usar. No menu suspenso superior esquerdo, selecione o objeto CEvent. Todos os procedimentos de tratamento de eventos disponíveis estarão disponíveis para você no menu suspenso superior direito. Selecione o que for necessário e defina o que deseja fazer quando o evento for disparado.
    Para demonstrar o uso, escolho o evento CEvents_Activate. Vou tentar mostrar ao usuário que o evento gráfico está ativado em uma caixa de mensagem.

    Private Sub CEvents_Activate () MsgBox "Os eventos do gráfico estão funcionando" End Sub 

Nosso trabalho aqui está feito. Você pode criar quantos eventos quiser a partir dos eventos disponíveis para o tipo de gráfico aqui. Mas os eventos ainda não funcionarão porque é apenas uma aula. Precisamos criar o objeto desta classe em um sub em qualquer módulo normal ou o módulo de objeto. Em seguida, execute o submarino. Depois disso nosso evento começará a funcionar.

Etapa 2: Crie o objeto de classe de gráfico no módulo.

  • Insira um módulo normal.
  • Declare uma variável da classe que você criou antes.
    Dim mychart As ChartClass
  • Crie uma sub e inicialize a variável com o objeto da classe ChartClass.
    Sub activateChartEvent () Set mychart = New ChartClass End Sub

  • Execute este sub usando F5. Conforme você executará este código, os eventos do gráfico estarão ativos para o primeiro gráfico na planilha atualmente ativa, pois usamos esta linha para a inicialização do conjunto de eventos do gráfico CEvents = ActiveSheet.ChartObjects (1) .Chart.

E está feito. Agora, se você clicar no primeiro gráfico da planilha atualmente ativa, será exibida a mensagem de que os eventos do gráfico estão funcionando.

Ativando e desativando eventos de aplicativos VBA

Depois de executar a macro no módulo normal, ela sempre será disparada até que você feche a pasta de trabalho que contém os eventos. Mas você pode querer ligá-los e desligá-los à sua vontade. Existem duas maneiras de fazer isso.

  • Anular o objeto de evento
  • Defina EnableEvents como False

1. Anulando o objeto de evento

Em uma sub-rotina separada, defina o objeto de evento como Nothing

Private Sub StopEvents () Definir Mychart = Nothing End Sub

Depois de executar este código, os eventos irão parar de funcionar. Você pode colocá-lo em um botão na planilha para interromper os eventos. Agora você terá dois botões para iniciar e parar esses eventos específicos. Ele apenas interromperá os eventos criados pelo objeto AppE.

2. Defina EnableEvents como False

O segundo método é desabilitar os eventos. Para tornar todos os eventos impossíveis de capturar, definimos a propriedade EnableEvents da classe Application comoFalso.

Private Sub StopEvents () Application.EnableEvents = False End Sub

O código acima irá desabilitar todos os eventos. Mesmo os eventos padrão do Excel. Eles não funcionarão até que você os reinicie. Mesmo se você executar a sub-rotina StartEvents () (acima), o evento não funcionará. Para que todos os eventos voltem a funcionar, você terá que configurar novamente a propriedade EnableEvents para True.

Portanto, se você deseja que seus eventos funcionem sempre que iniciá-los, adicione esta linha de código no sub.

Private Sub StartEvents () Application.EnableEvents = True Set mychart = New ChartClass End Sub

Iniciando eventos de gráfico personalizado sempre que a pasta de trabalho é aberta

Se você estiver desenvolvendo uma ferramenta para o usuário final, pode querer que os eventos funcionem automaticamente. Nesse caso, você pode colocar o iniciador de evento no objeto Workbook com o evento Workbook_open (), em vez de em um módulo normal. Isso fará com que seu objeto de evento seja inicializado assim que você abrir a pasta de trabalho que contém os eventos.

Então, sim pessoal, é assim que você pode usar o evento de gráfico incorporado no Excel. Deixe-me saber se isso foi explicativo o suficiente e ajudou você a entender os eventos de nível de aplicativo no Excel VBA. Escreva seus pensamentos na seção de comentários abaixo. Se você tem algo a acrescentar, anote também. Você pode fazer suas perguntas relacionadas a este artigo ou qualquer outro tópico relacionado ao Excel VBA na seção de comentários abaixo.

Baixe o arquivo de trabalho abaixo:

Os eventos no Excel VBA |Existem sete tipos de eventos no Excel. Cada evento trata de um escopo diferente. O evento de aplicativo lida com o nível da pasta de trabalho. Livro de exercícios no nível das folhas. Planilha de eventos no nível de alcance.

Os eventos de planilha no Excel VBASubmeter comentários Causa Os eventos de planilha são realmente úteis quando você deseja que suas macros sejam executadas quando um evento especificado ocorrer na planilha.

Eventos de pasta de trabalho usando VBA no Microsoft Excel | Os eventos da pasta de trabalho funcionam em toda a pasta de trabalho. Como todas as planilhas fazem parte da pasta de trabalho, esses eventos também funcionam nelas.

Impedir que uma automacro / eventmacro seja executada usando VBA no Microsoft Excel| Para evitar a execução da macro auto_open, use a tecla shift.

Eventos de objeto de gráfico usando VBA no Microsoft Excel| Os gráficos são objetos complexos e há vários componentes que você anexa a eles. Para fazer os Eventos do Gráfico usamos o módulo Class.

Artigos populares:

50 atalhos do Excel para aumentar sua produtividade | Torne sua tarefa mais rápida. Esses 50 atalhos tornarão seu trabalho ainda mais rápido no Excel.

A função VLOOKUP no Excel | Esta é uma das funções mais usadas e populares do Excel, que é usada para pesquisar valores em diferentes intervalos e planilhas.

CONT.SE no Excel 2016 | Conte valores com condições usando esta função incrível. Você não precisa filtrar seus dados para contar um valor específico. A função Countif é essencial para preparar seu painel.

Como usar a função SUMIF no Excel | Esta é outra função essencial do painel. Isso ajuda você a somar valores em condições específicas.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave