Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Atualização: Se essas dicas não são o suficiente, clique aqui e conheça mais outras 9.
Essa é para você que já está acostumado com a utilização das Macros em suas planilhas mas
percebe que elas poderiam rodar um pouquinho mais rápido.
Vou mostrar uma série de códigos e dicas bastante simples que podem te ajudar a ganhar ainda mais
tempo com suas planilhas automatizadas. Vamos a elas.
Se estiver com preguiça de ler, assista ao vídeo, caso contrário, continua mais abaixo.
Busque utilizar:
Range("B1:B200").Value = Range("A1:A200").Value
Utilize:
Range("B1:B200").Formula = Range("A1:A200").Formula
5 – Inserir fórmula em várias células ao mesmo tempo
É provável que você tenha células com a mesma fórmula, normalmente em casos que você escreve
a fórmula e depois arrasta ou copia para as outras células que serão iguais.
tilizar o código anterior já acelera, a cópia, mas existe um jeito mais rápido, veja.
Ao invés de usar algo como:
Range("A1").FormulaR1C1 = "=SUM(RC[1]:RC[5])" 'Escreve fórmula na célula A1
Range("A1").Copy
Range("A1:A20").PasteSpecial xlPasteFormulas 'Copia a fórmula de A1 até A20
Application.CutCopyMode = False 'Limpa a área de transferência
Tente usar:
Range("A1:A20").FormulaR1C1 = "=SUM(RC[1]:RC[5])" 'Escreve fórmula da célula A1
a A20
O Excel irá selecionar aquela célula da mesma forma que você faria com o mouse, o que é
desnecessário pois leva tempo de processamento fazer isso, e você pode escrever praticamente tudo
em sua macro sem utilizar o .select.
Se for necessário selecionar alguma célula, objeto, planilha, pasta de trabalho, faça assim:
Range("A1").Activate
Você conseguirá fazer praticamente as mesmas coisas que faria usando outro método, só que mais
rápido.
Infelizmente, este código não é tão eficiente quanto poderia ser porque força o Excel para selecionar
e, em seguida, alterar cada propriedade separadamente. Você pode economizar tempo e melhorar o
desempenho usando o With e executar várias ações em um determinado objeto em de uma só
vez. Assim, o mesmo efeito que teríamos com o código acima pode ser obtido com o código abaixo.
With Range(“A1”).Font
.Bold = True
.Italic = True
.Underline = xlUnderlineStyleSingle
End With
Uma maneira muito mais eficiente é salvar o valor na Sheets ( “Plan1”). Range ( “A1”) em uma
variável. Desta forma, o código faz referência a variável em vez da planilha. Conforme abaixo.
Dim MeuMês as Integer
MeuMês = Range(“A1”).Value
For RelatoMês = 1 To 12
If MeuMês= RelatoMês Then
MsgBox 1000000 / RelatoMês
End If
Next RelatoMês