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
#42061
Olá,

Suponho que a macro irá alterar o conteúdo de A1 e A2 até que eles fiquem iguais, porque se não o fizerem, a macro pode entrar em loop.

Para evitar o loop, é bom estipular um limite de execuções dentro do qual espera-se que as células estejam iguais.

No exemplo abaixo, o limite é 1000, mas você é quem tem que determinar esse número.
Código: Selecionar todos
Sub Repete()
Limite = 1000
For Qtd = 1 To Limite
    If Cells(1, "A").Value = Cells(2, "A").Value Then Exit For
   'Insira aqui a rotina que altera A1 e/ou A2
Next
If Qtd = Limite + 1 Then MsgBox "A macro já executou " & Limite & _
                                " vezes e não conseguiu igualar as células."
End Sub
Jimmy San Juan
#42063
Complementando...

Você não deu detalhes do seu problema, mas pode ser que recursos como Solver ou Atingir meta resolvam o seu problema sem a necessidade de macro.

Se postar a planilha poderemos definir isso melhor.

Jimmy San Juan
#42073
Obrigado srs pela pronta resposta!

Na verdade eu precisaria de um comando que fizesse este loop até que a condição seja atendida. Me desculpem não poder postar a planilha aqui.

Mas vou tentar descrever em mais detalhes:

Esta planilha puxa uma lista de NFs do SAP e converte em excel.

Na célula A1 tem uma fórmula "=hoje()".

Na célula A2 está a última data da relação de NFs, ou seja, se a relação de NFs for de 01/03/2019 a 15/03/2019, na célula A2 estará 15/03/2019

Neste caso, minha condição não estará atendida, então preciso que a macro seja acionada novamente sem que eu tenha que fazer isso manualmente.

Abraços!
#42099
Dê detalhes do que quer dizer "Não deu certo".
Porque não funcionou? O que aconteceu? Deu erro de sintax? Rodou um número insuficiente de vezes? Não rodou nenhuma vez? Rodou e não parou nunca?

O loop é refeito sempre que as células A1 e A2 forem diferentes, tanto no código do Osvaldo quanto no meu. O que falta é melhor definição do probleme, dos objetivos e do resultado dos testes.

Jimmy San Juan
#42101
Explique com detalhes o processo pelo qual você inseriu o código que te passamos, na planilha, e como fez para executa-lo.

Jimmy San Juan
#42107
Wieniawski escreveu:Infelizmente não deu certo :cry:
Enquanto você não disponibilizar uma amostra do seu arquivo Excel com os códigos existentes e a explicação exata do você quer, ficamos restritos a um joguinho de adivinhação.
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