Notifications
Clear all

Código VBA só funciona na execução linha por linha (F8)

2 Posts
2 Usuários
0 Reactions
1,500 Visualizações
(@gstvmario)
Posts: 1
New Member
Topic starter
 

Preciso de ajuda, tenho um código abaixo que faz uma verificação inserindo todos valores de um vetor na célula "O2", após isso, verifica o valor da célula "K2" e insere o valor de "O2" que deixou "K2" maior, guardando em uma variável "MaiorValor", e depois de descobrir o valor maior, insere esse valor em "O2" novamente, depois faz isso em todas as planilhas, porém quando executo através de um botão, ele só faz certo na última planilha, e não nas anteriores, e quando testo, executando linha por ele, ele funciona, como posso resolver isso? 

 

 

Dim x As Long

For x = 2 To (linhasPreenchidas) 'percorre as abas do Excel

     ' Verifica % melhor de valores do vetor
     ActiveSheet.Calculate
     Dim MaiorValor As Double
     Dim MaiorPorcentagem As Double
     Dim valorVetor As Double
     MaiorValor = 0
     MaiorPorcentagem = -100

     For y = LBound(vetor) To UBound(vetor)
          valorVetor = vetor(y, 1)
          Range("O2").Value = valorVetor
          ActiveSheet.Calculate
          If Range("K2").Value > MaiorPorcentagem Then
               MaiorPorcentagem = Range("K2").Value
               MaiorValor = valorVetor
          End If

     Next y
     planilha.Range("O2").Value = MaiorValor
     planilha.Range("O2").NumberFormat = "0.00%"

Next x

 

 

 
Postado : 20/02/2023 6:45 pm
kev027
(@kev027)
Posts: 64
Trusted Member
 

Veja se funciona:

Sub PercorrerSheets()

For Each planilha In Sheets

    'Instrução
    MsgBox planilha.Name
    
Next

End Sub
 
Postado : 03/03/2023 11:00 pm