Notifications
Clear all

Como fazer para a listview não carregar linhas em branco?

3 Posts
2 Usuários
0 Reactions
777 Visualizações
(@bracinho)
Posts: 69
Trusted Member
Topic starter
 

Pessoal, boa tarde!

Por meio da função Índice e Linha a minha planilha apresenta-me um relatório de acordo com alguns filtros.

Esses dados são apresentados na minha listview através do código abaixo que, teoricamente, funciona bem, mas eu quero que o mesmo não apresente dados vazios na listview.

Sub LISTA4()

With Me.ListView4
     .ColumnHeaders.Clear
     .ListItems.Clear
     .View = lvwReport
     .FullRowSelect = True

Sheets("GRAFICO_CLIENTE").Select

Application.OnKey "{Escape}", ""
       With UserForm80.ListView4
            .Gridlines = True
            .View = lvwReport
            .FullRowSelect = True
            .ColumnHeaders.Add Text:="ID"
            .ColumnHeaders.Add Text:="Centro de Custo"
            .ColumnHeaders.Add Text:="Conta Razão"
            .ColumnHeaders.Add Text:="Cliente"
            .ColumnHeaders.Add Text:="Total Ano"
            .ColumnHeaders.Add Text:="Ranking"
           
         
      End With
Dim lastrow
Dim x

Dim li

        
        'Adiciona itens
        For x = 6 To 30 'aqui ele preenchera até a linha 30, mas eu quero que preencha até a ultima linha que possua dados.
           
        
        
        
        
            Set li = ListView4.ListItems.Add(Text:=Plan30.Cells(x, "y").Value)
        
  
         li.ListSubItems.Add Text:=Format(Plan30.Cells(x, "z").Value, "0.00")
         li.ListSubItems.Add Text:=Format(Plan30.Cells(x, "aa").Value, "0.00")
         li.ListSubItems.Add Text:=Format(Plan30.Cells(x, "ab").Value, "0.00")
          li.ListSubItems.Add Text:=Format(Plan30.Cells(x, "ac").Value, "0.00")
          li.ListSubItems.Add Text:=Format(Plan30.Cells(x, "aD").Value, "0°")
            
                   
                   Next

Call TamanhoColAutomatico4

End With


End Sub
 
Postado : 08/09/2015 11:13 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Defina qual a celula/coluna de comparaçãol e monte um if no carregamento

Algo+/- assim:

Sub LISTA4()

With Me.ListView4
     .ColumnHeaders.Clear
     .ListItems.Clear
     .View = lvwReport
     .FullRowSelect = True

Sheets("GRAFICO_CLIENTE").Select

Application.OnKey "{Escape}", ""
       With UserForm80.ListView4
            .Gridlines = True
            .View = lvwReport
            .FullRowSelect = True
            .ColumnHeaders.Add Text:="ID"
            .ColumnHeaders.Add Text:="Centro de Custo"
            .ColumnHeaders.Add Text:="Conta Razão"
            .ColumnHeaders.Add Text:="Cliente"
            .ColumnHeaders.Add Text:="Total Ano"
            .ColumnHeaders.Add Text:="Ranking"
           
         
      End With
Dim lastrow
Dim x

Dim li

        
        'Adiciona itens
For x = 6 To 30 'aqui ele preenchera até a linha 30, mas eu quero que preencha até a ultima linha que possua dados.        
if Plan30.Cells(x, "y").Value<>"" then
          Set li = ListView4.ListItems.Add(Text:=Plan30.Cells(x, "y").Value)
          li.ListSubItems.Add Text:=Format(Plan30.Cells(x, "z").Value, "0.00")
          li.ListSubItems.Add Text:=Format(Plan30.Cells(x, "aa").Value, "0.00")
          li.ListSubItems.Add Text:=Format(Plan30.Cells(x, "ab").Value, "0.00")
          li.ListSubItems.Add Text:=Format(Plan30.Cells(x, "ac").Value, "0.00")
          li.ListSubItems.Add Text:=Format(Plan30.Cells(x, "aD").Value, "0°")
end if
Next

Call TamanhoColAutomatico4
End With
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/09/2015 2:24 pm
(@bracinho)
Posts: 69
Trusted Member
Topic starter
 

Perfeito!

 
Postado : 09/09/2015 9:59 am