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
Por Raygsson
#68188
Código: Selecionar todos

For i = 1 To 14        
            previsao = 0            

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

Today I will introduce the member of the Eleaf Ba[…]

Tente a partir destas 3 combinaçõe[…]

Assiduidade

Não sei se o compreendo corretamente. Tente[…]

Boa noite. Faltou você postar a outra aba c[…]

BUSCAR DADOS EM OUTRA ABA

Boa noite. Para postar um modelo da sua planilha,[…]

&quot;Deve exibir status do documento como inf[…]

Prezados, boa tarde! Tenho um desafio de criar um[…]

Controles ActiveX Excel Mac

Experimente fazer um downgrade para o office 2011.