Boa tarde, como poderia fazer para que o listview não recebe-se valores repetidos. Exemplo:
Se eu inserir um item e for inserir novamente não quero que ele apareça de novo apenas some essa unidade a mais.
Exemplo da imagem:
SKU: 785810378847 LOTE: B19200647 QTDE: 10
Gostaria que se eu lesse esse lote novamente ele apenas soma-se de 10 para e assim sucessivamente, isso para qualquer SKU colocado na listview.
Eu ultilizo o código abaixo:
Private Sub UserForm_Initialize()
With ListView
.Gridlines = True
.View = lvwReport
.FullRowSelect = True
.ColumnHeaders.Add Text:="UPC", Width:=40
.ColumnHeaders.Add Text:="LOTE", Width:=70
.ColumnHeaders.Add Text:="SKU", Width:=160
.ColumnHeaders.Add Text:="Qtde", Width:=30
End With
'...................................................................
'limpar
ListView1.ListItems.Clear
lastRow = Plan1.Cells(Plan1.Cells.Rows.Count, "a").End(xlUp).Row
' Adiciona itens
For X = 2 To lastRow
Set li = ListView1.ListItems.Add(Text:=Plan1.Cells(X, "a").Value)
li.ListSubItems.Add Text:=Plan1.Cells(X, "b").Value
li.ListSubItems.Add Text:=Plan1.Cells(X, "c").Value
li.ListSubItems.Add Text:=Plan1.Cells(X, "d").Value
Next
Label25.Caption = ListView1.ListItems.Count 'Conta número de linhas preenchidas
End Sub
-----------------------------------------------------------------------------------------------------------------------
Private Sub btInserir_Click()
lin = 2
Do Until Sheets("Relatorio").Cells(lin, SKU) = ""
lin = lin + 1
Loop
Sheets("Relatorio").Cells(lin, malote) = cdSKU
Sheets("Relatorio").Cells(lin, cliente) = cdLOTE
Sheets("Relatorio").Cells(lin, notafiscal) = cdSKU
Sheets("Relatorio").Cells(lin, qtde) = cdQTDE
MsgBox "Registro Inserido com Sucesso", 6, "Inserir"
resposta = MsgBox("Deseja inserir outro registro", 36, "Inserir")
If resposta = vbYes Then
cdSKU.Text = ""
cdLOTE.Text = ""
cdSKU.Text = ""
cdQTDE.Text = ""
'...................................................................
'limpar
ListView1.ListItems.Clear
lastRow = Plan1.Cells(Plan1.Cells.Rows.Count, "a").End(xlUp).Row
' Adiciona itens
For X = 2 To lastRow
Set li = ListView1.ListItems.Add(Text:=Plan1.Cells(X, "a").Value)
li.ListSubItems.Add Text:=Plan1.Cells(X, "b").Value
li.ListSubItems.Add Text:=Plan1.Cells(X, "c").Value
li.ListSubItems.Add Text:=Plan1.Cells(X, "d").Value
Next
Label25.Caption = ListView1.ListItems.Count 'Conta número de linhas preenchidas
cdSKU.Text = ""
cdLOTE.Text = ""
cdSKU.Text = ""
cdQTDE.Text = ""
txtCodigo.SetFocus
End If
End Sub
Postado : 23/08/2013 11:02 am