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
  • Avatar do usuário
Por Intruder18
#2621
Boa noite pessoal, esse é meu primeiro tópico, procurei e não achei nada semelhante. Me perdoem se por ventura eu tenha feito algo de errado.

Preciso de uma ajuda com VBA:

Montei uma planilha para atualizar certos relatórios diariamentes.

Mas quero dizer a macro qual relatórios atualizar.

Quero criar uma macro que faça isso.
Ao iniciar a macro quero que ela considere o que está dentro de "A1" para continuar.

Se estiver escrito "Verdadeiro" ela executa "Call" a Macro1. Se estiver escrito "Falso" ou qualquer outra coisa deferente de Verdadeiro, ela tem que chamar "Call" a macro2. Preciso ainda que se se escrito Verdadeiro em "A1" e ela chamar a macro1, seja inserido em "B1" a palavra "Atualizado" e se estiver escrito em "A1" Falso e ela chamar a macro2, seja inserido tem em "B1" a palavra "Não atualizado".

Conseguem me ajudar com isso?
Avatar do usuário
Por Sandman
Posts Avatar
#2623
bom dia intruder18, veja se é isso que voce quer :mrgreen:
Código: Selecionar todos
Public Sub controle()

    If Cells(1, 1).Value = "verdadeiro" Then
    
        macro1 'chama sua macro1 aqui
        Cells(1, 2).Value = "Atualizado"
        
    Else
        macro2 'chama sua macro2 aqui
        Cells(1, 2).Value = "Não Atualizado"
    
    End

End Sub
Avatar do usuário
Por laennder
Avatar
#2625
Não é legal fazer essa comparação Cells(1,1).Value = "VERDADEIRO", visto que caso a sua planilha seja aberta em PC configurado em outro idioma, esse valor por ser lógico, pode aparecer como TRUE, por exemplo.

Faça assim:
Código: Selecionar todos
If Cells(1, 1) Then
Como é um valor lógico não é necessário comparação.

[]'s
Avatar do usuário
Por alexandrevba
Avatar
#2626
Bom dia!!

Outra forma (talvez mereça adaptação),seria...
Código: Selecionar todos
Sub AleVBA_515()
    Select Case Range("A1").Value
    Case "Verdadeiro"
        MsgBox "Eu sou a Macro 1, em execução!"
        [B1].Value = "Atualizado"
    Case Else
        MsgBox "Eu sou a Macro 2, em execução!"
        [B1].Value = "Não Atualizado"
    End Select
End Sub
Att
Por Intruder18
#2642
Sandman escreveu:bom dia intruder18, veja se é isso que voce quer :mrgreen:
Código: Selecionar todos
Public Sub controle()

    If Cells(1, 1).Value = "verdadeiro" Then
    
        macro1 'chama sua macro1 aqui
        Cells(1, 2).Value = "Atualizado"
        
    Else
        macro2 'chama sua macro2 aqui
        Cells(1, 2).Value = "Não Atualizado"
    
    End

End Sub
Sandman,

É possível definir a célula analisada dessa forma "A1" ao invés de (Cells1,1) ?

Porque vou usar inúmeras vezes o recurso.
Avatar do usuário
Por alexandrevba
Avatar
#2643
Bom dia!!

Se reparou na minha postagem, uma forma de referência seria [A1].value ="Meu valor" ou Range("A1").value= "Meu Value"..etc


Att
Avatar do usuário
Por Sandman
Posts Avatar
#2645
bom dia intruder88, como a alexandrevba disse, vc pode substituir cells(1,1) por plan1.range("a1").value para valores de celulas unicas ou se quiser passar um intervalo plan1.range("a1:c3").value por exemplo ok
Por Intruder18
#2649
Obrigado pessoal, conseguiu utilizar o codigo perfeitamente.

Vocês sabem me dizer se o If, then, else e o Case são a mesma coisa.

Tipo, a aplicação do If ou o case vão resultar nós mesmos resultados?
Avatar do usuário
Por alexandrevba
Avatar
#2650
Bom dia!!

Sim!!!

A diferença é que a implementação pode resultar na junção ou não dos mesmo de acordo com a necessidade.

Att
Por Pernilongo
Posts
#2683
bom dia intruder18, é só clicar no botão marcar como resolvido no topo de cada post do topico da sua questão, daí é só vc clicar no post que acha que resolveu seu problema ok, ahhh o botão fica do lado esquerdo do botão obrigado. ;)
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