Notifications
Clear all

SIMPLIFICAR MACRO

5 Posts
3 Usuários
0 Reactions
1,042 Visualizações
(@heiderick)
Posts: 15
Active Member
Topic starter
 

Boa Tarde Pessoal,

Alguem conhece alguma maneira de simplificar a macro abaixo para rodar em um tempo menor? Está copiando dados de uma guia e colando em outra.

Sub macro_copiar()
Application.ScreenUpdating = False
Application.EnableEvents = False
Sheets("plan1").Activate
Range("A:M").Activate
Application.CutCopyMode = False
Selection.Copy
Sheets("Planilha1").Select
Range("A1").Activate
ActiveSheet.Paste
Columns("M:M").Select
Range("M3").Activate
Sheets("Plan1").Select
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

 
Postado : 18/04/2018 1:23 pm
(@klarc28)
Posts: 971
Prominent Member
 

Fiz um teste aqui e está executando instantaneamente.

 
Postado : 18/04/2018 1:28 pm
(@heiderick)
Posts: 15
Active Member
Topic starter
 

O problema é que vou executar umas 120 vezes em uma rotina, gostaria de saber se existe alguma forma de evitar a viagem até a guia "Planilha1", transportando os dados sem fazer o processo do curso de clicar na guia e nas celular para copiar e colar.

 
Postado : 18/04/2018 1:30 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

Copia só valores:

Sub macro_copiar()
 Sheets("Planilha1").Range("A:M").Value = Sheets("plan1").Range("A:M").Value
End sub

Copia Tudo:

Sub macro_copiar()
Sheets("Plan1").Range("A:M").Copy Sheets("Planilha1").Range("A1")
End Sub

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 18/04/2018 1:31 pm
(@klarc28)
Posts: 971
Prominent Member
 
Option Explicit

Sub copiar()


Dim linha As Long

For linha = 1 To Plan1.UsedRange.Rows.Count

Sheets("Planilha1").Range("A" & linha & ":M" & linha).Value = Sheets("Plan1").Range("A" & linha & ":M" & linha).Value

Next linha


End Sub
 
Postado : 18/04/2018 1:56 pm