Problema en Copiar hojas entre libros con macros

Hola expertos requiero su ayuda con una macro que importa desde un libro 1 con formulario en excel 2007, información de la hoja2 de un libro 2 de excel 2007 que no tiene macros, y la exporta a la hoja5 de un tercer libro de excel el cual también posee formulario con macros.

la rutina que he utilizado es la siguiente

Private Sub CommandButton1_Click()

'primero abro el archivo excel que no tiene macros desde el formulario del libro1 a través de un combobox'

Workbooks.Open Filename:="C:\Users\user\Dropbox\SISTEMA DE INFORMACIÓN\CARGAS LABORALES\PLANTA\" & ComboBox1 & ""

'luego hago un filtro al archivo y lo envío el resultado a la hoja2'
Sheets("HOJA1").Select

Range("a1").Select

Sheets("HOJA2").Range("A:AY").ClearContents

Sheets("HOJA1").Range("AZ2").ClearContents

Sheets("HOJA1").Range("AZ2") = "*" & TextBox2 & "*"

Range("a1:AY1000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _ "AZ1:AZ2"), copytorange:=Sheets("HOJA2").Range("a1"), Unique:=False

'luego voy a la hoja2 de ese libro sin macros y copio la información que se encuentra en las columnas a y f '

Sheets("Hoja2").Select

Columns("A:f").Select

Selection.Copy

'posteriormente abro el tercer libro que tiene formulario el cual debo minimizar desde la "x" para acceder a las hojas del mismo'

Workbooks.Open Filename:="C:\Users\user\Dropbox\SISTEMA DE INFORMACIÓN\CARGAS LABORALES\SYS1\PROCESOS"

'ubico la hoja5 del libro PROCESOS y pego la información copiada, aquí es donde esta el problema, el sistema me arroja un aviso en la línea ActiveSheet.Paste que dice Se ha producido el error 1004 en tiempo de ejecución.Error en el método Paste de la clase worksheet. A partir de allí no me deja avanzar con el resto de la rutina que termino describiendo'

Sheets("Hoja5").Select

Columns("A:f").Select

ActiveSheet.Paste

ActiveWorkbook.SaveAs Filename:="C:\Users\user\Dropbox\SISTEMA DE INFORMACIÓN\CARGAS LABORALES\" & CRITERIOS_PLANTA.ComboBox1 & "\" & CRITERIOS_PLANTA.TextBox1 & "\" & CRITERIOS_PLANTA.TextBox2 & "" ActiveWorkbook.Close

ActiveWorkbook.Close

Solicito su ayuda para solucionar este gran problema ya que no entiendo su origen incluso revisé que la hoja a copiar no tuviese celdas combinadas. Gracias

Legato

1 respuesta

Respuesta
1

Al abrir el libro se pierde la selección.

Hay muchos métodos para copiar -mover datos, tantos que merecieron estar desarrollados en una de mis 5 Guías Temáticas.

Este es un m{etodo o ejemplo de pasos correctos:

1- Guardar el nombre del libro donde vas a realizar la copia (libro2 = activeworkbook.name)

2- Abrir el 3er libro que queda como activo, y seleccionas la hoja donde pegar

3- Selecciona el rango a copiar . Aquí utilizarás el nombre guardado en la variable

Workbooks(libro2).Sheets(...).Range(...).copy

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas