Notifications
Clear all

Loop da ListView

3 Posts
1 Usuários
0 Reactions
941 Visualizações
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Tenho este codigo abaixo e nao sei onde esta o erro, pois

A ListView que tenho possui as seguintes colunas:

ID
Produto
Oferta
QNT
Sabor
Apres.
Unit
Total
Custo Produto
Total Custo Produto

Quando estou processando a macro, na Plan Vendas Feitas está sendo inserido os dados do Custo do Produto, e tambem o Total Custo Produto, eu queria que o loop fosse até Total apenas.

 Dim I     As Integer
    Dim j     As Integer
    Dim Regs  As Integer
    Dim Linha As Long
    Dim Caminho As String

    Regs = Me.ListView1.ListItems.Count
    Plan44.Activate
    
 Dim K, w As Double
 K = Contagem.Value
 w = K + 2
 Rows("3:" & w).Insert Shift:=xlDown
 
     Range("N3").Select
    
      'Laço das linhas e colunas para extrair os valores da listview e passar para o planilha
    For I = 1 To Regs
        Linha = I + 2
        Cells(Linha, 14) = Me.ListView1.ListItems(I)
    For j = 1 To Me.ListView1.ColumnHeaders.Count - 1
        If j = 1 Then
              Cells(Linha, 14 + j) = Me.ListView1.ListItems(I).ListSubItems(j)
              GoTo Pular
              End If
        If j = 2 Then
        GoTo Pular
       End If
        If j > 2 Then
           Cells(Linha, (14 + j) - 1) = Me.ListView1.ListItems(I).ListSubItems(j)
        End If
Pular:

        Next
        
    Next
 
Postado : 11/02/2017 7:27 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Seria nesta linha o problema, em ColumnHeaders ?

For j = 1 To Me.ListView1.ColumnHeaders.Count - 1

 
Postado : 11/02/2017 7:59 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Resolvido Alterei esta linha

De If j > 2 Then
para If j > 2 And j < 8 Then

If j > 2 And j < 8 Then
Cells(Linha, (14 + j) - 1) = Me.ListView1.ListItems(I).ListSubItems(j)
End If

 
Postado : 11/02/2017 8:14 pm