Oi gente! Tudo bem?
Eu precisava de três coisas:
1. Posicionar na primeira linha abaixo do conteúdo;
2. Escrever alguma coisa
3. Colar especial, somente os valores.
Daí eu criei três macros que fazem cada um dos passos acima e um botão de comando que executa essas macros com retardo de tempo, para garantir que tudo vai ser feito na sequência correta.
Código do Botão de Comando
Application.OnTime Now() + TimeValue("00:00:01"), "Posiciona"
Application.OnTime Now() + TimeValue("00:00:03"), "Escreve"
Application.OnTime Now() + TimeValue("00:00:05"), "ColaEspecial"
Ocorre que, quando vai colar, cola no formato original e, pior, não cola os valores, mas cola a referência
='[NomeDoArquivo.xlsm]Plan1'!A8
E o mais bizarro é que eu copio da A2:E6 e quando cola, a referência é da A8:E12
Macro Posiciona (funcionando perfeitamente)
Range("A2").Select
Selection.End(xlDown).Select
Application.SendKeys ("{down}")
Macro Escreve (funciona corretamente)
ActiveCell.FormulaR1C1 = "Texto a ser escrito aqui"
Application.SendKeys ("{Enter}")
Macro ColaEspecial (Só funciona quando eu executo ela sozinha)
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
OBRIGADO A TODOS QUE PUDEREM AJUDAR
Este tópico foi modificado 2 anos atrás 2 vezes by
advogado
Postado : 17/03/2023 11:30 am