Notifications
Clear all

Alterar valores de vários itens de uma única vez

3 Posts
2 Usuários
0 Reactions
740 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Pessoal,

Estou tentando criar uma rotina para ALTERAR valores de vários itens de uma única vez. Consegui chegar na rotina abaixo, porém ela esta bem lenta.

Como eu ainda sou um desenvolvedor "meia boca" gostaria que alguem me ajudasse a otimizar a rotina.

Grato desde já

Sub ALTERA()

Dim x As Variant
Dim i As Variant
Dim LINHA, LinhaFinal As Variant

Dim p As Double
Dim div As Double
Dim valor As Double
Dim result As Variant

p = TextBox1
div = 100
valor = 0

    For x = 1 To LISTA.ListItems.Count
    
            
            LinhaFinal = Sheets("PROD").Range("A65000").End(xlUp).Row
          
            For LINHA = 2 To 5000
              valor = Sheets("PROD").Range("G" & LINHA)
            If Sheets("PROD").Range("A" & LINHA).Value = (LISTA.ListItems(x)) And Sheets("PROD").Range("J" & LINHA).Value = ComboBox1.TEXT Then
             Sheets("PROD").Range("G" & LINHA) = Sheets("PROD").Range("G" & LINHA) + valor * p / div
             
            LINHA = LINHA + 1
            End If
            Next LINHA
     
    Next
    
End Sub
 
Postado : 29/12/2014 6:28 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Estou colocando um modelo pra facilitar o entendimento

 
Postado : 29/12/2014 7:01 pm
(@selmo)
Posts: 236
Reputable Member
 

Só uma coisinha, porque não define uma rotina para verificar a última linha preenchida, assim evitando ter que executar a macro em todas as células, mesmo as vazias.

 
Postado : 29/12/2014 7:11 pm