question

Como desativar o código durante a execução de outro código em VBA?

Como desativar o código durante a execução de outro código em VBA.

Eu tenho duas macros na mesma pasta de trabalho, mas em folhas diferentes.

O nome da macro da folha 1 é "Private Sub CommandButton1_Click()" - ela será executada quando o botão for clicado.
O nome da macro da folha 2 é "Private Sub Worksheet_Change(ByVal Target As Range)" - é um evento de alteração de macro.

Ambas as macros estão conectadas - o resultado da macro da folha 1 será publicado na folha 2. Em seguida, depois que a folha 2 receber os dados da macro da folha 1, a macro da folha 2 funcionará.

Mas eu quero desativar a macro da folha 2 enquanto a macro da folha 1 estiver em execução.
resposta Resposta

Para desativar o código durante a execução de outro código em VBA, siga as seguintes etapas:

  1. Abra a pasta de trabalho do Excel onde as macros estão localizadas.
  2. Clique na guia "Developer" na parte superior da janela do Excel.
  3. Selecione "Visual Basic" para abrir o Editor do VBA.
  4. No Editor do VBA, localize o módulo que contém a macro que você deseja desativar.
  5. No caso da macro "Private Sub Worksheet_Change(ByVal Target As Range)", abra o módulo associado à Sheet2.
  6. Na parte superior do Editor do VBA, clique em "Debug" e, em seguida, selecione "Compile VBAProject". Isso garantirá que não haja erros de compilação no código.
  7. Depois de garantir que o código está compilando corretamente, adicione uma variável de controle à macro que você deseja desativar. Por exemplo, adicione uma variável booleana chamada "bExecutandoMacro1" e defina-a como "True" no início da macro da Sheet1.
  8. No início da macro da Sheet2, adicione um teste condicional para verificar o estado da variável de controle. Por exemplo, verifique se "bExecutandoMacro1" é "False" antes de permitir que a macro da Sheet2 continue.
  9. Depois que a macro da Sheet1 terminar de ser executada, defina a variável "bExecutandoMacro1" como "False" para reativar a macro da Sheet2.

Seguindo esses passos, você será capaz de desativar a macro da Sheet2 enquanto a macro da Sheet1 estiver em execução, garantindo que as duas macros funcionem corretamente e não entrem em conflito uma com a outra.


ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved