Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
#10087
Existe alguma forma de fazer uma macro executar apenas se eu escrever em uma célula em específico algo especifico?


Exemplo
Na celula A1 escrevo "Executar"
Então executa todo o comando de macro.

Têm como fazer isso?
#10089
Bom dia,

Verifica o anexo abaixo, toda vez que o valor de A1 for alterado, ele executa a macro.

No aguardo.
Você não está autorizado a ver ou baixar esse anexo.
#10093
Boa tarde!

Isso é possível sim, porém em apenas uma aba, na aba que você deseja use o seguinte comando:
Código: Selecionar todos
    Private Sub Worksheet_Change(ByVal Target As Range)

        If UCase(Target.Value) = "EXECUTAR" Then
            MsgBox "EXECUTAR"
        End If
        
       
    End Sub
Caso tenha dúvida baixe o exemplo:



Visite meu blog e meu canal no youtube.

programacaopassoapasso.wordpress.com

https://www.youtube.com/channel/UCbIAUS ... 2B5SGFDJgg
Você não está autorizado a ver ou baixar esse anexo.
#10120
Ambos os 2 estão certos mas o que eu preciso em sí é misturar os 2.
Como assim?

Eu preciso de que ao escrever em uma celula especifica algo especifico. Ai sim chame a macro

Exemplo(tentei misturar os 2 mais num deu muito certo):

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" And UCase(Target.Value) = "Executar" Then

Call "Macro"
ElseIf Target.Adrres = "$A$1" And UCase(Target.Value) <> "Executar" Then
MsgBox ("Erro ao digitar a senha")
Else
Exit Sub

End If

End Sub


No meu caso não pode aparecer mensagens em qualquer outra celula apos inserir o código(Porque senão não teria como editar a aba, iaa aparecer mensagems de "erro" direto).
Nem trocar com qualquer coisa que o usuário inserir apenas com a palavra "Executar" que no caso eu vou trocar por uma senha numérica.

Desta forma é possivel?
#10125
Olá,

tente assim:
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" And Target.Value = "Executar" Then
Call macro1 'coloque aqui a sua macro

ElseIf Target.Address = "$A$1" And Target.Value <> "Executar" Then
MsgBox ("Erro ao digitar a senha")

Else: Exit Sub
End If
End Sub
No aguardo.
#10153
Eu te agradeço pios funcionou, mas, se eu deletasse o valor do local iria aparecer "Erro na senha digite novamente."
E para ficar perfeitinho eu precisava que asim que escrevesse, mostrasse a Msgbox, depois chamasse a macro
ai após apagasse o valor de A1 Sem aparecer novamente a mensagem do "Erro ao digitar a senha"

E específicamente resutlndo se a pessoa escrever algo errado "Digte a senha novamente" e vai apagar o valor de a1 resultando em End Sub logo após apagar.

Sequencia verdadeira
1º Pessoa escreve "1234567" na celula a1.
2º Se a1 = 1234567 then call macro....( até ai é o antigo)
3º Apos chamar a macro delete a1 sem chamar Elseif

Sequencia falsa(Diferente da senha)
1º Se a1 <> "1234567" Então Msgbox("Digite a senha novamente")
2º Delete a1 sem chamar um loop de "Digite a senha novamente"(Quando se deleta a1 chamava essa mensagem infinitamente)
3º End sub

Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" And Target.Value = "1234567" Then
Call Macro1 'coloque aqui a sua macro
MsgBox ("Seja vem vindo a area de manutenção mensal da planilha")

ElseIf Target.Address = "$A$1" And Target.Value <> "1234567" Then


'Não sei como ou aonde poderia inserir o delete.'


MsgBox ("Digite a senha novamente")

Else: Exit Sub

End If

End Sub

E com a palavra "Executar" não funcionou deu erro formato incompativel.
Dado a isto troquei para uma senha numerica.
Avatar do usuário
Por Kevim2013
Posts Avatar
#10232
Dei meu jeito aqui pra não dar looping na mensagem quando deleta. Simplesmente colocando um (And Target.Value <> "") no Endif

Obrigado pela ajuda ^^.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord