Mudei assim e parece que funcionou, mas analisa se esta td correto mesmo.
Private Sub UserForm_Initialize()
'====================================================================================
'Macro Desenvolvida em 18/07/2017 por Wagner Morel para carregar dados em um listview
'====================================================================================
'Declaração de variáveis
Dim i As Long
Dim j As Long
Dim UltimaLinhaVendas As Long
Dim UltimaLinhaProdutos As Long
Dim li As ListItem
'Armazena a última linha com dados, pela coluna N da planilha Vendas Feitas
UltimaLinhaVendas = Sheets("Vendas Feitas").Cells(Cells.Rows.Count, 3).End(xlUp).Row
'Garante que os dados comecam na linha 2
If UltimaLinhaVendas < 2 Then UltimaLinhaVendas = 2
'Armazena a última linha com dados, pela coluna A da planilha Produtos
UltimaLinhaProdutos = Sheets("Produtos").Cells(Cells.Rows.Count, 1).End(xlUp).Row
'Garante que os dados comecam na linha 2
If UltimaLinhaProdutos < 2 Then UltimaLinhaProdutos = 2
'Adiciona o nome e a largura das colunas
With ListView1
.Gridlines = True
.View = lvwReport
.FullRowSelect = True
.ColumnHeaders.Add Text:="COD", Width:=30
.ColumnHeaders.Add Text:="Data", Width:=70, Alignment:=2
.ColumnHeaders.Add Text:="Recibo", Width:=50, Alignment:=2
.ColumnHeaders.Add Text:="Produto", Width:=150, Alignment:=2
.ColumnHeaders.Add Text:="Fabricante", Width:=100, Alignment:=2
.ColumnHeaders.Add Text:="QNT", Width:=30, Alignment:=2
.ColumnHeaders.Add Text:="Sabor", Width:=66, Alignment:=2
.ColumnHeaders.Add Text:="Apres.", Width:=50, Alignment:=2
.ColumnHeaders.Add Text:="Unit", Width:=50, Alignment:=2
.ColumnHeaders.Add Text:="Total", Width:=50, Alignment:=2
End With
'Limpa o ListView
ListView1.ListItems.Clear
'Laço para preencher os dados das vendas
For i = 2 To UltimaLinhaVendas
'Verifica se o código contido em cada uma das células da coluna N é igual o código que está em D4
If Sheets("Vendas Feitas").Range("C" & i).Value = Sheets("Plan1").Range("D4").Value Then
'Caso positivo, coloca o código da coluna N (código do produto) na primeira coluna do ListView
Set li = ListView1.ListItems.Add(Text:=Sheets("Vendas Feitas").Range("N" & i).Value)
'Coloca o valor da coluna E (Data da Venda) na segunda coluna do ListView
li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("E" & i).Value)
'Coloca o valor da coluna B (RECIBO) na terceira coluna do ListView
li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("B" & i).Value)
'Coloca o valor da coluna O (PRODUTO) na quarta coluna do ListView
li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("O" & i).Value)
'Laço para percorrer as linhas da planilha Produtos para buscar o fabricante
For j = 2 To UltimaLinhaProdutos
'Verifica se o código do produto na planilha Produtos (coluna A) é igual ao código do _
do produto (coluna N) que está na célula D4 (Plan1)
' If Sheets("Produtos").Range("A" & j).Value = Sheets("Plan1").Range("D4").Value Then
'Caso positivo, coloca o nome do fabricante (coluna C da planilha Produtos) na _
coluna 5 do Listview
li.ListSubItems.Add Text:=(Sheets("Produtos").Range("C" & j).Value)
' End If
Exit For
Next
'Coloca o valor da coluna P (QNT) na sexta coluna do ListView
li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("P" & i).Value)
'Coloca o valor da coluna Q (Sabor) na sétima coluna do ListView
li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("Q" & i).Value)
'Coloca o valor da coluna R (Caps) na oitava coluna do ListView
li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("R" & i).Value)
'Coloca o valor da coluna S (Unidade) na nona coluna do ListView
li.ListSubItems.Add Text:=Format((Sheets("Vendas Feitas").Range("S" & i).Value), "#,##0.00")
'Coloca o valor da coluna T (Total Unitário) na décima coluna do ListView
li.ListSubItems.Add Text:=Format((Sheets("Vendas Feitas").Range("T" & i).Value), "#,##0.00")
End If
Next
End Sub
a sim terei que por os codigos e datas em todas as linhas mas isso e e comigo aqui.
obrigado
Andre
Postado : 18/06/2017 11:33 am