Notifications
Clear all

IF com variável

6 Posts
3 Usuários
0 Reactions
1,658 Visualizações
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Olá.
Estou precisando de um código que me ajude a repetir uma macro de acordo com o número informado na célula I20.

As condições são as seguintes:

1) se na célula I20 estiver 18, ele vai fazer o seguinte:
a) ele vai rodar uma macro já formatada
b) na primeira repetição a célula J5 será a própria J5 + 1
c) ele vai correr um código automático (por exemplo: range("a1") = range("a2")
d) na segunda repetição a célula J5 será a própria J5 + 1
e) ele vai correr um código automático (por exemplo: range("a1") = range("a2")
f) e assim sucessivamente até repetir 20 vezes
g) no final, vai dar uma mensagem: msgbox "Operação realizada com sucesso"

É possível um código desse?
Se não ficou claro, só me avise, que eu explico melhor...
Obrigado!

Atenciosamente,
Júlio

 
Postado : 20/04/2015 3:03 pm
(@laennder)
Posts: 62
Trusted Member
 

Acredito que você queira fazer um loop for.

Seria algo mais ou menos assim (resposta está bem genérica como a sua explicação)

Sub Repeticao()

If Range("I20") = 18 Then

    Call SuaMacroJáFormatada

    For i = 1 To 20
               
        Range("J5") = Range("J5") + 1
        'Seu código automático
        Range("a1") = Range("a2")
    
    Next i

MsgBox "Operação realizada com sucesso"

End If

End Sub

Laennder Alves
Microsoft MVP

 
Postado : 20/04/2015 5:13 pm
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Obrigado Laennder!!
Acho que é quase isso.
É que esse número que eu disse que é 18, pode ser qualquer um. Eu posso dizer que ele vai de 1 até 365, para dar uma informação mais concreta.
O problema é que não sei como dizer que o IF o número é variável...
E quando colocaste o "for", ele vai até a mesma quantidade informada (de 1 até 365).
Consegui ajudar na explicação?
Valeu!

 
Postado : 21/04/2015 8:34 pm
(@edcronos)
Posts: 1006
Noble Member
 

julio
tanto seu pedido inicial quanto a sua replica estão completamente confusos
vc poderia simplesmente ter disposto uma planilha de exemplo com dados colocados manualmente da maneira que vc quer

parece que o valor é determinado pelo numero da linha
mas ficar fazendo macros por suposição não dá certo

e se essa sua macro que vai ser chamada vai interferir com a execução favor disponibilizar para se ter uma melhor definição do que se fazer

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 21/04/2015 9:05 pm
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Vamos lá. Está em anexo. Na aba "cadastro de horas" é onde está o problema.
Ali tem explicações. Desculpem-me demorar a disponibilizar.

 
Postado : 22/04/2015 11:25 am
(@juliowd)
Posts: 149
Estimable Member
Topic starter
 

Oi! Consegue resolver!!!!

Usei um Do-While!!

Valeu pela força!!!
Um abraço!

 
Postado : 22/04/2015 1:15 pm