Edcronos, boas respostas! Tô gostando de ver!
Victor, uma forma de melhorar desempenho é trabalhar com matrizes, mas isso muda significativamente o desempenho quando você tem diversas referências a uma planilha, numa mesma rotina. Ao referenciar a matriz da planilha, tudo fica mais rápido. No seu caso a melhora seria insignificante.
Quanto a preencher os textboxes, eu digo que fazer leitura e escrita em qualquer célula (ou seja, objeto do tipo range) é lento pra caramba. Diversas dessas leituras ou escritas é mais lento ainda. Se você está escrevendo em células, e o recálculo está sendo disparado, aí justifica o link que o AlexVBA mandou, que é especificamente sobre desempenho, recálculo e funções voláteis ou não.
Pelo que vi no pouco código que você postou, é impossível dar outras dicas....
É que assim Fernando, as vezes quando eu chamo o código o programa trava e fecha.
Me.Label381.Caption = Format(Sheets("Total_Ano").Range("V3"), "#,##0.00") 'valor apurado
Me.Label382.Caption = Format(Sheets("Total_Ano").Range("V4"), "#,##0.00") 'valor gasto
Me.Label383.Caption = Format(Sheets("Total_Ano").Range("V5"), "#,##0.00") 'valor saldo
Me.Label395.Caption = Format(Sheets("Total_Ano").Range("V6"), "#,##0.00") 'BEBIDA valor apurado
Me.Label398.Caption = Sheets("Total_Ano").Range("V7") ''''''''''''''''''''''''PRODUTO quant
Me.Label399.Caption = Format(Sheets("Total_Ano").Range("V8"), "#,##0.00") 'PRODUTO val ppago
Me.Label387.Caption = Sheets("Total_Ano").Range("V9") ''''''''''''''''''''''''OUTROS dia trab
Me.Label388.Caption = Format(Sheets("Total_Ano").Range("V10"), "#,##0.00") 'OUTROS media dia
Me.Label389.Caption = Format(Sheets("Total_Ano").Range("V11"), "#,##0.00") ''''OUTROS indice%
Me.Label402.Caption = Format(Sheets("Total_Ano").Range("V12"), "#,##0.00") ''''CARNE quilo
Me.Label403.Caption = Format(Sheets("Total_Ano").Range("V13"), "#,##0.00") 'CARNE val pOUT
Me.Label392.Caption = Format(Sheets("Total_Ano").Range("V14"), "#,##0.00") 'VENDEDOR valor apurado
Me.Label393.Caption = Format(Sheets("Total_Ano").Range("V15"), "#,##0.00") 'VENDEDOR MENO 30%
e se eu especificar que estou formatando os dados da planilha tal e a formato a ser formatado, e assim não precisa eu repetir em todas as labeis
a plan e a formatação.
Tem como? tentei fazer com WITH mais num consegui não
Tentar não é saber, é ter a certeza que vai descobrir
Dicas excel, vba, Access http://vbaedit.blogspot.com.br/
Postado : 01/09/2014 5:35 pm