Excel - Executar macro quando os dados inseridos em uma célula

Se um usuário deseja executar uma macro no Microsoft Excel quando a célula D10 é encontrada para ser preenchida, o evento de alteração de planilha deve ser usado na planilha do Excel, não no módulo. //www.4shared.com/file/89145449/43c8c38/Change_Value_of D10.htlml é baixado e o código original que foi usado para executar a macro é definido. O ícone básico Visual da guia Desenvolvedor é selecionado para o Microsoft Excel-2007. Depois de visualizar a planilha onde se deseja que o código seja executado, Declarations e General são soltos e a planilha é selecionada. A palavra 'Selection' é removida do 'Private Sub Worksheet_SelectionChange' na janela de código. Para alterar o valor na célula D10, '$ D $ 10' é o endereço de destino configurado. Isso, por sua vez, faria o evento de alteração da planilha "chamar" a macro .

  • Questão
  • Solução
  • Nota

Questão

Eu tenho uma macro que é executada quando o usuário clica em um botão. Em vez disso, quero que a macro seja executada quando a célula D10 estiver preenchida. Os dados para D10 vêm de uma lista suspensa de validação de dados, se isso for importante. Isso deve ser fácil, mas não consigo entender.

Solução

Você pode manter sua macro no módulo um. Você deve usar o evento de alteração da planilha na própria planilha, não em um módulo. Deixe-me explicar: vou fornecer um arquivo para acompanhar a explicação. Na planilha, o intervalo A5: A25 é preenchido com números. Se você inserir um valor numérico na célula D10, o intervalo G5: G10 copiará o que está em A5: A25. Se você excluir o valor em D10, o conteúdo do intervalo G5: G10 será excluído.

//www.4shared.com/file/89145449/43c8c38/Change_Value_of_D10.html

Seja qual for o seu código original para executar o seu Macro, coloque isso de volta em sua forma original.

Como você está usando o Excel 2007, isso é o que você precisa fazer:

  • 1) Clique na guia Desenvolvedor.
  • 2) Clique no ícone do Visual Basic.
  • 3) Na janela do painel esquerdo, clique duas vezes na planilha onde você precisa executar seu código.
  • 4) Agora, na parte superior da janela de código, você verá (Geral) com uma lista suspensa e (Declarações) com uma lista suspensa.
  • 5) Clique no menu suspenso por (Geral) e selecione Planilha.
  • 6) Agora na janela de código você verá Private Sub Worksheet_SelectionChange (ByVal Target As Range)
  • 7) Remova a palavra "Seleção". Você deseja remover "Seleção" porque isso significa que quando você clica em uma célula na planilha, algo acontecerá. Você não quer isso, você quer inserir um valor em D10. Agora deve ler Private Sub Worksheet_Change (ByVal destino como intervalo)
  • 8) Aqui é onde você quer o código ...

 Private Sub Worksheet_Change (ByVal alvo como intervalo)

Se Target.Address = "$ D $ 10" então

Ligue para o MyMacro

Fim se

End Sub

  • 9) Significado, quando você alterar o valor em D10, o evento de alteração da planilha "chamará" sua macro.

Nota

Obrigado ao WutUp WutUp por esta dica no fórum.
Artigo Anterior Próximo Artigo

Principais Dicas