question

Execucao condicional de macros no Excel?

Oi pessoal

Aqui está um exemplo do que eu estou trabalhando com >

http://www.Box.net/Shared/ez1m9c7t73

Basicamente, quero que (provavelmente dentro de VBA) do excel para executar macros diferentes dependendo de qual valor é exibido em uma caixa. Por exemplo, existem 2 folhas, com um drop-down menu e outra com uma fórmula cujo resultado varia de acordo com o que está na caixa na primeira folha. Se a fórmula exibe um valor, eu quero o Excel para executar automaticamente a primeira macro. Se a fórmula exibe o valor de outro, eu quero o Excel para executar automaticamente uma macro diferente.

Obrigado antecipadamente por qualquer ajuda,

DwinZly
resposta Resposta
Supondo que Sheet1 contém a gota para baixo e Planilha2 contém a fórmula em A1:

Suponha que haja um módulo com duas macros, Macro1 e Macro2.

Se você colocar esta macro no módulo de Sheet1, ele seria executado Macro1 ou Macro2 dependendo se a Planilha2 célula A1 = 4 ou 8, sempre houve um evento Worksheet_Change.

Private void Worksheet_Change(ByVal Target As Range)

Se Sheets("Sheet2").Range("a1").Valor = 4 então

Macro1

ElseIf Sheets("Sheet2").Range("a1").Valor = 8, então

Macro2

Outra coisa

End If

End Sub

Comentários Comentários

Guest
Anderson na 24 Mai 2016
0
Preciso de um código condicional, mas para texto e dentro de um módulo, exemplo:

Tenho uma planilha e na guia Analítico na célula F2 se estiver o texto "Acumulado" quero que execute a macro, caso contrário apenas informar uma mensagem box.
Guest
Pedro na 20 Set 2023
0
Olá! Uma maneira de fazer isso é usar a função Worksheet_Change para verificar quando a célula com a fórmula muda de valor. Dentro dessa função, você pode usar um IF para verificar qual é o novo valor e chamar a macro correspondente. Aqui está um exemplo do código VBA que pode te ajudar:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Range("A1").Value = "PrimeiroValor" Then
Call PrimeiraMacro
ElseIf Range("A1").Value = "OutroValor" Then
Call OutraMacro
End If
End If
End Sub

Você pode inserir esse código em uma módulo VBA do seu arquivo do Excel e ele vai verificar automaticamente quando a célula A1 for alterada e chamar a macro correta. Espero que isso ajude! Boa sorte!

O seu comentário
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