Hola, como copio desde un libro, ¿Ciertas celdas y las paso a otro libro .distinto con un botón?

mi problema es el siguiente, este es ni código actual copia todo bien pero lo que quiero yo es que me copie todo las celdas que están indicadas en el código de una vez y no estar abriendo y cerrando para copiar los datos, ojala pueda ser claro en lo que busco, muchas gracias

Private Sub CommandButton2_Click()
Workbooks.Open Filename:="c:\Resumen Call Center y Monitoreo FY'13_Nov.xlsx"
Worksheets("oct-13 sin incidencias").Range("y6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("book1").Activate
Sheets("Hoja1").Select
Range("H2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks.Open Filename:="c:\Resumen Call Center y Monitoreo FY'13_Nov.xlsx"
Worksheets("oct-13 sin incidencias").Range("Y42").Select
Application.CutCopyMode = False
Selection.Copy
Windows("book1").Activate
Sheets("Hoja1").Select
Range("J2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks.Open Filename:="c:\Resumen Call Center y Monitoreo FY'13_Nov.xlsx"
Worksheets("oct-13 sin incidencias").Range("s6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("book1").Activate
Sheets("Hoja1").Select
Range("H10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks.Open Filename:="c:\Resumen Call Center y Monitoreo FY'13_Nov.xlsx"
Worksheets("oct-13 sin incidencias").Range("s41").Select
Application.CutCopyMode = False
Selection.Copy
Windows("book1").Activate
Sheets("Hoja1").Select
Range("J10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Resumen Call Center y Monitoreo FY'13_Nov.xlsx").Activate
ActiveWindow.Close
End Sub

1 respuesta

Respuesta
1

A ver si te he entendido. ¿Lo qué quieres es un botón que ejecute este código?. SI es así vete a la ficha Programador, grupo Controles y dentro del comando Insertar, selecciona ->COntroles de formulario. Haz clic en Botón de formulario. Dibújalo en la hoja y asígnale tu macro.

no si el botón ya esta hecho, lo que quiero es que me haga la función de copiar las celdas que indico en el código pero de una vez y no estar abriendo y cerrando el libro, no se si me explico bien.

Ahora te comprendo. Bueno, las celdas que quieres copiar del libro c:\Resumen Call Center y Monitoreo FY'13_Nov.xlsx son:

Range("y6"), Range("Y42"), Range("s6"), Range("s41") en H2, J2, H10 y J10, respectivamente ¿es así?.

Si es así reemplaza este código por el que tienes en tu macro.

Private Sub CommandButton2_Click()

Workbooks.Open Filename:="c:\Resumen Call Center y Monitoreo FY'13_Nov.xlsx"
Worksheets("oct-13 sin incidencias").Range("y6").Select

dato1=Range("Y6"):dato1=Range("Y42"):dato1=Range("S6"):dato1=Range("S41")

Windows("book1").Activate
Sheets("Hoja1").Select

Range("H2")=dato1:Range("J2")=dato2:Range("H10")=dato3:Range("J10")=dato3

End Sub

No olvides finalizar y puntuar la pregunta.

Perdón, había un error en la línea que copia los datos, es así:

Range("H2")=dato1:Range("J2")=dato2:Range("H10")=dato3:Range("J10")=dato4

Como llevo el día. Perdona otra vez, el código correcto es este:

Private Sub CommandButton2_Click()
Workbooks.Open Filename:="c:\Resumen Call Center y Monitoreo FY'13_Nov.xlsx"
Worksheets("oct-13 sin incidencias").Range("y6").Select
dato1=Range("Y6"):dato2=Range("Y42"):dato3=Range("S6"):dato4=Range("S41")
Windows("book1").Activate
Sheets("Hoja1").Select
Range("H2")=dato1:Range("J2")=dato2:Range("H10")=dato3:Range("J10")=dato4
End Sub

todo bien pero sabes tengo un problema, me dio un error, y no cacho que es me dice

(error 9) el subíndice esta fuera del intervalo. perdón pero no cacho mucho.

Private Sub CommandButton2_Click()
Workbooks.Open Filename:="c:\Resumen Call Center y Monitoreo FY'13_Nov.xlsx"
Worksheets("oct-13 sin incidencias").Range("y6").Select
dato1=Range("Y6"):dato2=Range("Y42"):dato3=Range("S6"):dato4=Range("S41")


Windows("book1").Activate (aquí me marca el error)

Sheets("Hoja1").Select
Range("H2")=dato1:Range("J2")=dato2:Range("H10")=dato3:Range("J10")=dato4
End Sub

Otra vez. Prueba a colocar el nombre del libro en una variable, así:

libro=activeworkbook.name

Después se utiliza así:

Windows(libro). Activate

Modificando el código quedaría así:

Private Sub CommandButton2_Click()
libro=Activeworkbook.name ' Guardamos el nombre del libro activo.

Workbooks.Open Filename:="c:\Resumen Call Center y Monitoreo FY'13_Nov.xlsx"
Worksheets("oct-13 sin incidencias").Range("y6").Select
dato1=Range("Y6"):dato2=Range("Y42"):dato3=Range("S6"):dato4=Range("S41")

Windows(libro).Activate ' Activamos el libro.

Sheets("Hoja1").Select
Range("H2")=dato1:Range("J2")=dato2:Range("H10")=dato3:Range("J10")=dato4
End Sub

No olvides finalizar y puntuar la pregunta.

ya solucione el problema de error 9, fue simplemente colocar la extensión a book1 que seria book.xlsm. y corrió todo bien.

pero tu código no me copia, aclaro que no me da error tampoco, pero no me copia los datos.

no se porque.

El código que te envié al principio te valió, me alegro que lo hayas solucionado.

No olvides finalizar y puntuar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas