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