Ronaldo, eu moro no Afonso Pena cjto Apolo) perto da FAMEC.
Voltando a sua questão, acredito que o exemplo do Wagner já resolva, mas gostaria de tirar uma duvida, na Plan4 os dados de "A1:F831" estão vinculados a um arquivo externo atraves de formulas : "...Toyama2[Toyama3.xlsm]Estoque'!G2"., na mesma nas celulas "H7:M7" é feito uma Filtragem mas no resultado falta os dados da NF n° 2, e a partir desta filtragem é que é carregado o ListBox com RowSource, só que esta propriedade carrega todos os Valores até os "Zeros" ou seja 830 linhas.
Como eu comentei, eu deixaria o RowSource e utilizaria a seguinte rotina para preencher o ListBox:
Primeiro elimine o evento : Private Sub UserForm_Click(), e cole a rotina abaixo :
Private Sub UserForm_Initialize()
Dim cell As Range
Dim Rng As Range
With ThisWorkbook.Sheets("Plan4")
'Define o Range com a Filtragem coluna H linha 7
Set Rng = .Range("H7", .Range("H7").End(xlDown))
End With
'Para cada Celula no Range definido
For Each cell In Rng.Cells
'Se o Valor for diferente de "Zero"
If cell <> 0 Then
'Preenche o ListBox somente com os Valores Validos
With Me.ListBox1
.ColumnCount = 6 'Define a qde de Colunas no Listbox
.AddItem cell.Value
.List(.ListCount - 1, 1) = cell.Offset(0, 1).Value 'Coluna 1
.List(.ListCount - 1, 2) = cell.Offset(0, 2).Value 'Coluna 2
.List(.ListCount - 1, 3) = cell.Offset(0, 3).Value 'Coluna 3
.List(.ListCount - 1, 4) = cell.Offset(0, 4).Value 'Coluna 3
.List(.ListCount - 1, 5) = cell.Offset(0, 5).Value 'Coluna 3
.List(.ListCount - 1, 6) = cell.Offset(0, 6).Value 'Coluna 3
.List(.ListCount - 1, 7) = cell.Offset(0, 7).Value 'Coluna 3
End With
End If
Next cell
End Sub
Se quiser carregar o ListBox sem realizar a filtragem a partir do Range "A1:F1", é só trocar o endereço na seguinte linha da rotina acima :
Aqui carregamos o ListBox apartir de A1:
Set Rng = .Range("A1", .Range("A1").End(xlDown))
Faça os testes e qualquer duvida retorne.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 25/01/2014 9:56 pm