Boa tarde a todos,
Tenho uma planilha onde preciso comparar os valores que constam na sheet "Conferencia" coluna "B" com a coluna "C".
Quando os valores da coluna "B" for menor que o da coluna "C", quero que os nomes, que constam na coluna "A" sejam transportados para sheet "Observações" e apresente uma MSG com os nomes que estejam nesta condição.
Fiz a rotina abaixo, porém não estou conseguindo listar todos os nomes que B < C para sheet observações. Não consegui entender onde estou errando. Os nomes até aparecem na MSG, mas só esta transportando um nome. Estou anexando planilha para entenderem melhor.
Preciso de ajudar e agradeço antecipadamente a todos.
Sub teste()
'Definir as planilhas
Dim conferencia As Worksheet
Dim observacoes As Worksheet
Set conferencia = ThisWorkbook.Worksheets("Conferencia")
Set observacoes = ThisWorkbook.Worksheets("OBSERVAÇÕES")
'Definir as variáveis
Dim ultimaLinhaConferencia As Long
Dim ultimaLinhaObservacoes As Long
Dim linhaConferencia As Long
Dim linhaObservacoes As Long
Dim nomes As String
'Definir a última linha de cada planilha
ultimaLinhaConferencia = conferencia.Cells(Rows.Count, "A").End(xlUp).Row
ultimaLinhaObservacoes = observacoes.Cells(Rows.Count, "B").End(xlUp).Row
'Verificar o saldo remanescente e listar os assistidos
For linhaConferencia = 17 To ultimaLinhaConferencia
If conferencia.Cells(linhaConferencia, "B") < conferencia.Cells(linhaConferencia, "C") Then
'Adicionar o nome na planilha OBSERVAÇÕES
linhaObservacoes = ultimaLinhaObservacoes + 1
observacoes.Cells(linhaObservacoes, "B") = conferencia.Cells(linhaConferencia, "A")
nomes = nomes & " " & conferencia.Cells(linhaConferencia, "A")
End If
Next linhaConferencia
'Mensagem de resultados
If nomes <> "" Then
MsgBox "Os seguintes nomes possuem valores de BENEFÍCIOS > que o SALDO DE CONTA: " & nomes, vbInformation, "Resultados"
Else
MsgBox "Nada consta.", vbInformation, "Resultados"
End If
End Sub
JFrança
Vídeo recomendado
https://youtu.be/Ju8Esra5--I
https://youtu.be/Ju8Esra5--I
Comparar valores entre duas colunas e listar
Comparar valores entre duas colunas e listar
- Anexos
-
- Saldo_vs_Beneficio.zip
- (16.69 KiB) Baixado 501 vezes
- Reinaldo
- Jedi

- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Comparar valores entre duas colunas e listar
Experimente:
Código: Selecionar todos
Sub teste()
'Definir as planilhas
Dim conferencia As Worksheet
Dim observacoes As Worksheet
Set conferencia = ThisWorkbook.Worksheets("Conferencia")
Set observacoes = ThisWorkbook.Worksheets("OBSERVAÇÕES")
'Definir as variáveis
Dim ultimaLinhaConferencia As Long
Dim ultimaLinhaObservacoes As Long
Dim linhaConferencia As Long
Dim linhaObservacoes As Long
Dim nomes As String
'Definir a última linha de cada planilha
ultimaLinhaConferencia = conferencia.Cells(Rows.Count, "A").End(xlUp).Row
ultimaLinhaObservacoes = observacoes.Cells(Rows.Count, "B").End(xlUp).Row
linhaObservacoes = ultimaLinhaObservacoes
'Verificar o saldo remanescente e listar os assistidos
For linhaConferencia = 17 To ultimaLinhaConferencia
If conferencia.Cells(linhaConferencia, "B") < conferencia.Cells(linhaConferencia, "C") Then
'Adicionar o nome na planilha OBSERVAÇÕES
linhaObservacoes = linhaObservacoes + 1
observacoes.Cells(linhaObservacoes, "B") = conferencia.Cells(linhaConferencia, "A")
If nomes = "" Then
nomes = conferencia.Cells(linhaConferencia, "A")
Else
nomes = nomes & "; " & conferencia.Cells(linhaConferencia, "A")
End If
End If
Next linhaConferencia
'Mensagem de resultados
If nomes <> "" Then
MsgBox "Os seguintes nomes possuem valores de BENEFÍCIOS > que o SALDO DE CONTA: " & nomes, vbInformation, "Resultados"
Else
MsgBox "Nada consta.", vbInformation, "Resultados"
End If
End Sub

