Página 1 de 1

Comparando uma única célula com uma coluna

Enviado: 28 Ago 2016 às 02:20
por Otalivio
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

Comparando uma única célula com uma coluna

Enviado: 28 Ago 2016 às 03:17
por DJunqueira
Tem maneiras mais simples e eficientes de fazer isso sem usar VBA.
Querendo uma solução alternativa anexe sua planilha com dados fictícios, mas preservando a estrutura.

Re: Comparando uma única célula com uma coluna

Enviado: 28 Ago 2016 às 12:40
por Otalivio
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!!!

Comparando uma única célula com uma coluna

Enviado: 28 Ago 2016 às 14:07
por DJunqueira
Vc poderia fazer isso com Power Query / Nova Consulta, mas p/ tanto vc teria de ter as versões mais recentes do Excel.
Se vc quiser aprender mais s/ o Excel abra seus horizontes.