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
#14470
Olá Gente!

Não conheço nada de VBA, mas a necessidade me faz ler e ver vídeos no youtube a respeito :)

Existe uma planilha que todos os dias recebe dados novos de clientes. Então, criei uma rotina simples onde comparo o CPF digitado na célula A3 da plan1 com todos os CPF q estão na coluna C da plan2. Já criei o código para, caso o CPF seja idêntico, aquela linha seja copiada e colada na plan1, para mostrar o "histórico" do cliente.

Fiz uma laço de repetição For Next para que, enqto a coluna C da plan2 estiver preenchida, é para o VBA fazer a comparação.

O que eu não consegui fazer foi criar uma linha onde o VBA passe para comparar C1, depois C2, depois C3 etc até o fim. Procurei na internet, mas o que eu consegui achar (e entender quando via o código) é comparando com a célula A1 mudando também, tipo: A1 C1, A2 C2, A3 C3 e por ai vai...

Já digitei essa linha de varias maneiras, e até onde meu conhecimento permite, não consegui ver erro (embora o VBA sempre marque de amarelo essa bendita linha :(

segue o código... e por favor, não reparem se ele está confuso e cheio de comentarios... Não tenho a mínima noção de VBA, mas ele foi feito na raça e vendo vídeos no youtube :)

Sub PesquisarCPF()

'Limpar área de pesquisa com resultados anteriores
Sheets("pesquisa").Range("H2:M100").ClearContents

'Comparar celula A3 de PESQUISA com célula C2 de PROCESSOS
For L = 0 To Sheets("processos").Range("C65536").End(xlUp).Row 'Contador de 0 até a ultima linha preenchida da coluna

CPFPesq = Sheets("pesquisa").Range("A3") 'transformei as celulas em variaveis para nao redigitar a referencia
CPFLista = Sheets("Processos").Range("C2") 'pois como sao duas planilhas a referencia da celula fica grande


If CPFPesq = CPFLista Then

Sheets("processos").Range("C2:G2").Offset(L).Copy
Sheets("pesquisa").Range("H2:M2").Offset(L).PasteSpecial xlPasteValuesAndNumberFormats

Else

Aqui deveria vir uma linha que dissesse pro VBA "olha, agora compare A1 com a próxima célula de C"

End If

Next L

If Sheets("pesquisa").Range("H2").Value = Empty Then

MsgBox "CPF não encontrado"

End If

Sheets("pesquisa").Range("F1").Select

End Sub
#14481
Olá!

Não sei muito de excel, mas pelo q vi, o mais próximo que consegui foi a função PROCV, mas ela so retornar um único registro. Teria que ser uma mega formula para fazer aparecer mais registros.

Alem disso, não consigo imaginar nada a não ser o VBA para fazer tantas coisas como apagar linhas, comparar, copiar, colar, aparecer msgbox, etc etc :)

De qualquer forma, ainda prefiro por VBA, pois como disse, a necessidade no trabalho me fez ir por esse caminho.

Agradeço a atençã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