Além disso, use a instrução Option Explicit na seção de declaração do seu módulo. Você terá ganhos em velocidade.
as variáveis são publicas e utilizadas por todas as macros com o mesmo propósito
a macro que estou atualmente trabalhando tem essas variáveis para o loop, fora as publicas e as de controle
'Dim ns As Byte
Dim Ddo As Variant, ddai As Long '----------------------Dados
Dim Tv As Long ' ---------------------------------------Teste de Valores 1 = passa no teste : 0 = Não passa
Dim T As Long '-----------------------------------Teste de teste 0 = Negativo : 1 = Positivo
Dim K As Long, F As Long
''-----------------------------------( ORIGEM )-----------------------------------------------------------
Dim Op As Long '--------------------------------------Direção prioritária DA ORIGEM 0 = coluna: 1 = Linha
Dim OLi As Long, OLf As Long, TLo As Long '-------------------------Linha inicial e final,Total linhas da origem
Dim Oci As Long, Ocf As Long '---------------------------------Coluna inicial e Final
Dim Coi As Long, Loi As Long ' ---------------------------Posição Coluna origem
Dim Zig As Long, Lig As Long '----------------------incremento de Coluna e Linha
Dim OqC As Long, OqL As Long '--------------quantidade de Colunas e Linhas do quadrante
Dim OqLi As Long, OqLf As Long '---------Linha inicial e final do quadrante
Dim OqCi As Long, OqCf As Long '------Coluna inicial e final do quadrante
'---------------------------------( DESTINO )-----------------------------------------------
Dim Dp As Byte '-----------------------------------------------------Direção prioritária do Destino 0 = coluna: 1 = Linha
Dim DLi As Long, DLf As Long, TLd As Long '---------------------------------Linha inicial e final,Total linhas do Destino
Dim Dci As Long, Dcf As Long '--------------------------------------------Coluna inicial e Final
Dim Cdi As Long, Ldi As Long ' ------------------------------------Posição Coluna Destino
Dim Zag As Long, Lag As Long '--------------------------------incremento de Coluna e Linha
Dim DqC As Long, DqL As Long '-------------------------quantidade de Colunas e Linhas do quadrante
Dim DqLi As Long, DqLf As Long '------------------Linha inicial e final do quadrante
Dim DqCi As Long, DqCf As Long '-------------Coluna inicial e final do quadrante
Seria bom adicionar um DoEvents para não congelar o Excel enquanto a macro executa:
eu teria que entender melhor para ver a aplicação e oq exatamente faz o código
o mesmo com Application.EnableEvents = False e Application.EnableEvents = True
Prefira utilizar a propriedade Value2 do objeto Range ao invés de Value.
já tinha visto sobre isso, mas não entendi a questão do VALUE e VALUE2
Intervalos entre colchetes são mais lentos que sua representação através do objeto Columns:
Nem uso assim, essa foi uma adaptação de uma macro na epoca que estava começando a aprender VBA
http://forum.baboo.com.br/index.php?/topic/770419-copiar-valores-de-posi%C3%A7%C3%B5es-definidas-por-variaveis-e-colar-na-mesma-linha-com-data-igual-ao-da-coluna-c/
Desconfio que é possível melhorar o código abaixo:
não tem formulas nesse intervalo,
A macro pega os valores do setor e coloca nas mesmas linhas das datas da coluna B,
a coluna de data do setor é definida por CData
essa macro uso muito pouco e é acionada antes de entrar as formatações na planilha então larguei um pouco de lado.
Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.
"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"
Postado : 06/05/2014 7:00 pm