Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por Diego100ges
Posts
#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
Posts
#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

long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord