Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Shell Root en 19 Marzo 2014, 16:06 PM

Título: [VBA] Optimizar copia masiva de información
Publicado por: Shell Root en 19 Marzo 2014, 16:06 PM
Estoy realizando una macro donde tengo que abrir un archivo copiar los datos y pasarlos a otro archivo, lo hago de la siguiente manera:
Código (vb,6,7,8,9,10,11,12) [Seleccionar]
   If Dir(strNetwork) <> "" Then
       ChDir strNetwork                              ' Posicionarse en el directorio de red
       Workbooks.Open Filename:=strNetwork & strFile ' Abrir el archivo
       Windows(strFile).Activate                     ' Activar ventana del archivo
       
       Columns("A:BL").Copy
       SendKeys ("{Enter}")                          ' Evitar el mensaje de copia masiva de información
       Windows(strFile).Close
       Windows("Facturación FINAL.xls").Activate
       Sheets("PEDIDOS").Select
       Range("A1").Select
       ActiveSheet.Paste
   Else
       MsgBox "La [" & strNetwork & "] en red no disponible, presiona el botón cambiar para más información", vbCritical, "Error"
   End If

Se puede optimizar? Por ejemplo,

Ejecución lenta
Código (vb) [Seleccionar]
Range("E1").Select
Selection.Copy
Range("D10").Select
ActiveSheet.Paste


Ejecución rapida
Código (vb) [Seleccionar]
Range("E1").Copy Range("D10")

Pero esto se hace dentro de un mismo archivo, alguna sugerencia?