Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por Diego100ges
#68059
Prezados, boa tarde. estou tentando simplificar um for porem nao estou conseguindo, estou precisando repetir o for por 14x, seria melhor se desse para fazer um unico for, se aguem conseguir ajudar.

Quando eu tento colocar em 1 único for, os resultados não batem,
Código: Selecionar todos
'FAZ A PREVISAO

        For i = 1 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i
        
        list_previsao.ListItems.Item(1).SubItems(4) = previsao
        previsao = 0
        
        For i = 2 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i
        
        list_previsao.ListItems.Item(2).SubItems(4) = previsao
        previsao = 0

        For i = 3 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i

        list_previsao.ListItems.Item(3).SubItems(4) = previsao
        previsao = 0

        For i = 4 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i

        list_previsao.ListItems.Item(4).SubItems(4) = previsao
        previsao = 0

        For i = 5 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i

        list_previsao.ListItems.Item(5).SubItems(4) = previsao
        previsao = 0

        For i = 6 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i

        list_previsao.ListItems.Item(6).SubItems(4) = previsao
        previsao = 0

        For i = 7 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i

        list_previsao.ListItems.Item(7).SubItems(4) = previsao
        previsao = 0

        For i = 8 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i

        list_previsao.ListItems.Item(8).SubItems(4) = previsao
        previsao = 0

        For i = 9 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i

        list_previsao.ListItems.Item(9).SubItems(4) = previsao
        previsao = 0

        For i = 10 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i

        list_previsao.ListItems.Item(10).SubItems(4) = previsao
        previsao = 0

        For i = 11 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i

        list_previsao.ListItems.Item(11).SubItems(4) = previsao
        previsao = 0

        For i = 12 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i

        list_previsao.ListItems.Item(12).SubItems(4) = previsao
        previsao = 0

        For i = 13 To list_previsao.ListItems.Count
            previsao = previsao + list_previsao.ListItems(i).SubItems(2)
        Next i
Por demabiath
#68120
ListItens.Count retorna um valor integer você pode substituir o For por Do While (Fazer enquanto), adicionando uma uma soma a cada execução. Obs:( Não sei qual o contexto do seu código, então estou me baseando sobre as informações que você colocou )
---------------------------------------------------------------------------------------------------
i = 1

Do While i < list_previsao.ListItems.Count

previsao = previsao + list_previsao.ListItems(i).SubItems(2)
Next i

list_previsao.ListItems.Item(1).SubItems(4) = previsao
previsao = 0
i + 1
Loop

Bom dia Para saber o número de linhas com V[…]

Olha só, sem vc anexar uma planilha exemplo[…]

Pessoal, gostaria de uma ajuda de vocês se p[…]

[AJUDA]VBA Crashando

up

Fórmula para contagem

Segue abaixo um exemplo

SOMAR PRODUTOS

Junqueira, desculpa a demora . obrigado. perfeito

Boa tarde. Com a ajuda de um membro do fór[…]