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
Por Domingsp
Posts
#66307
Opa, nessa planilha tenho a coluna C com alguns números e na coluna E tem :

0890
8789
9194
9994

A macro precisa calcular a diferença entre o numero formado pelo 1º e 2º e o número formado pelo 3º e 4º da coluna E.
Se a diferença entre esses números for diferente dos números na coluna C, então a célula em questão em coluna E é excluída. O resultado correto seria permanecer os valores 9194 e 9994, mas a macro deleta tudo e dá erro de tipos incompatíveis. Desde já, obrigado
TESTE.xlsm
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Foxtri
Posts Avatar
#66315
Bom dia.
Não sei se entendi a sua necessidade.
Fiz uma opção, veja se serve.

Sub Teste()
Application.ScreenUpdating = False
Dim Dif1 As Integer
UlinC = Cells(Rows.Count, "C").End(xlUp).Row
UlinE = Cells(Rows.Count, "E").End(xlUp).Row
For m1 = 2 To UlinE
E = Cells(m1, "E")
If E = "" Then Exit Sub
Tt_1 = (Mid(E, 1, 1) & Mid(E, 2, 1)) * 1
Tt_2 = (Mid(E, 3, 1) & Mid(E, 4, 1)) * 1
Dif1 = Abs(Tt_1 - Tt_2)
If Evaluate("=IfError(match(" & Dif1 & ",$C$2:$C$5 ,0),0)") = 0 Then Cells(m1, "E") = ""
Next m1
Application.ScreenUpdating = True
End Sub

Até
Foxtri
Domingsp agradeceu por isso
Por Domingsp
Posts
#66319
Ficou show, Foxtri! Só ia te pedir a gentileza de me explicar os comandos:

If E = "" Then Exit Sub

e

Evaluate("=IfError(match(" & Dif1 & ",$C$2:$C$5 ,0),0)") = 0

Obrigado
Avatar do usuário
Por Foxtri
Posts Avatar
#66320
Olá
Respondendo:
"If E = "" Then Exit Sub"
Tenho que , E = Cells(m1, "E") e se E = "" ,
Então se vc voltar a acionar a macro, vai sair da função , para evitar erros

"Evaluate("=IfError(match(" & Dif1 & ",$C$2:$C$5 ,0),0)") = 0"
A função Evaluate é para calcular formulas como as usadas diretamente nas células , neste caso o VBA faz o calculo
Se desejar mais detalhes sobre esta função, por favor verifique no Famoso GOOGLE .
Espero que tenha ajudado.
T+
Foxtri
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