FILTRAR COLUNAS QUE NAO ESTEJAM VAZIAS

GUIMA 11/01/2011 18:22:11
#361920
Olá Senhores,

Criei uma rotina que verifica quais colunas contém dados, e filtra o resultado num Listbox. Porém, quando existe um intervalo vazio entre dados, por exemplo:
[txt-color=#e80000]
COLUNA DA | COLUNA DB | COLUNA DC | COLUNA DD | COLUNA DE | COLUNA DF | COLUNA DG | COLUNA DH | COLUNA DI | COLUNA DJ

Capacete 15/12/10 CINZA - PX- Luvas- - 05/01/11[/txt-color]

O problema é que o intervalo em branco das colunas está sendo filtrado no LISTBOX também. Veja exemplo:


Tentei criar um IF para impedir de filtrar as colunas vazias no LISTBOX. Porém, deu o erro 381. [Ô]Não foi possível definir a propriedade List. Indíce de Matriz de propriedade inválido.[Ô]

Vou postar abaixo toda a rotina, destacando a parte do IF, gostaria de saber como contornar o problema pra evitar tal erro.


Citação:

Public Sub BuscaFer(VALOR As String)

cadfunc.listVer.Clear



Dim i As Variant

Dim Plan As Worksheet

Dim lastCOL As Long



Set Plan = Sheets([Ô]Func[Ô])

i = 2

linha = 0

j = 105



With Plan

lastCOL = .Cells(i, Columns.Count).End(xlToLeft).Column

End With



While Plan.Cells(i, 4).Value <> [Ô][Ô]

If Plan.Range([Ô]D[Ô] & i).Value = VALOR Then

For j = 105 To lastCOL



[txt-color=#e80000]If Plan.Cells(i, j + 1) <> vbNullString Then [ô]AQUI é O IF QUE TENTEI FAZER[/txt-color]

cadfunc.listVer.AddItem Plan.Cells(i, j).Value

cadfunc.listVer.List(linha, 1) = Plan.Cells(i, j + 1).Value

cadfunc.listVer.List(linha, 2) = Plan.Cells(i, j + 2).Value

cadfunc.listVer.List(linha, 3) = Plan.Cells(i, j + 3).Value

[txt-color=#e80000]End If[/txt-color]

j = j + 3

linha = linha + 1

Next j

End If

i = i + 1

j = 105

Wend

End Sub



MARCELO.TREZE 11/01/2011 19:25:43
#361926
Eu aconselho a utilizar um flexgrid
GUIMA 11/01/2011 21:43:33
#361940
Meu projeto é em Excel. O Flex não é compatível com Excel.
Tópico encerrado , respostas não são mais permitidas