Macro que copia información en otro libro

Buenas,

Tengo el siguiente código:

Sub GuardaMinuta()
'Libro del que se ejecuta la macro
HojaMinuta.Select
Range("A7").CurrentRegion.Select
Selection.Copy
'Libro donde se va a pegar la información
Workbooks.Open Filename:="C:\Users\Juan Carlos\Desktop\trabajo de Macros\MINUTA\Minuta Central Alarmas Bogotá.xlsm"
Windows("Minuta Central Alarmas Bogotá").Activate
ActiveSheet.Select
Selection.Unprotect Password:="1130657994"
Range("A7").Select
ActiveSheet.Paste
Selection.Protect Password:="1130657994"
ActiveWorkbook.Sabe
ActiveWorkbook.Close True
Application.CutCopyMode = False
End Sub

Lo que sucede es que deseo copiar un rango en otro libro, pero este se encuentra protegido, quiero desprotegerlo, que pegue la información y vuelva y lo proteja. Les Agradezco su ayuda, igualmente si me permiten mejorar el código sería muy bueno.

1 respuesta

Respuesta
1

Te corregi unas cosas en tu codigo según logre entender en tu consulta.

Si no te funciona el codigo, requerire informacion mas especifica

Sub GuardaMinuta()
'Libro del que se ejecuta la macro
HojaMinuta.Select
rango = Range("A7").Value
'Libro donde se va a pegar la información
Workbooks.Open Filename:="C:\Users\Juan Carlos\Desktop\trabajo de Macros\MINUTA\Minuta Central Alarmas Bogotá.xlsm"
Windows("Minuta Central Alarmas Bogotá.xlsm").Activate
ActiveSheet.Select
Selection.Unprotect Password:="1130657994"
Range("A7").Value = rango
ActiveSheet.Protect Password:="1130657994"
ActiveWorkbook. Save
ActiveWorkbook. Close
End Sub

Estuve revisando pero sigo teniendo el mismo problema. Aclaro que yo uso el CurrentRegion para seleccionar una tabla completa y copiarla, por eso value estoy usando. el problema se presenta cuando abro el libro, lo desprotejo pero este no pega la información. Agradezco me ayudes a solucionar este problema.

Como te digo no estoy viendo tu libro, pero según me explicas el error se sa porque cuando copias la info y luego abres el nuevo libro, el copiado se elimina. Por ello debes primero abrir el libro luego irte al rango copiar y luego al libro que abriste y pegar.

Resumiendo, el problema es el orden de tu macro.

Sub GuardaMinuta()
'Libro del que se ejecuta la macro
Origen = ActiveWorkbook 'Damos nombre al libro
'Libro donde se va a pegar la información
Workbooks.Open Filename:="C:\Users\Juan Carlos\Desktop\trabajo de Macros\MINUTA\Minuta Central Alarmas Bogotá.xlsm"
Windows("Minuta Central Alarmas Bogotá").Activate
ActiveSheet.Select
Selection.Unprotect Password:="1130657994"
Destino = ActiveWorkbook
'Vamos a copiar la info
Origen.Select
HojaMinuta.Select
Range("A7").CurrentRegion.Select
Selection.Copy
'''''''''
'Vamos a pegar la info
Destino.Select
Range("A7").Select
ActiveSheet.Paste
Selection.Protect Password:="1130657994"
ActiveWorkbook.Sabe
ActiveWorkbook.Close True
Application.CutCopyMode = False
End Sub

Recuerda finalizar la pregunta y puntuar

Sub GuardaMinuta()
'Libro del que se ejecuta la macro
origen = ActiveWorkbook.Name 'Damos nombre al libro
'Libro donde se va a pegar la información
Workbooks.Open Filename:="C:\Users\Juan Carlos\Desktop\trabajo de Macros\MINUTA\Minuta Central Alarmas Bogotá.xlsm"
Windows("Minuta Central Alarmas Bogotá").Activate
ActiveSheet.Select
Selection.Unprotect Password:="1130657994"
destino = ActiveWorkbook.Name
'Vamos a copiar la info
Workbooks(origen).Activate
HojaMinuta.Select
Range("A7").CurrentRegion.Select
Selection.Copy
'''''''''
'Vamos a pegar la info
Workbooks(destino).Activate
Range("A7").Select
ActiveSheet.Paste
Selection.Protect Password:="1130657994"
ActiveWorkbook.Sabe
ActiveWorkbook.Close True
Application.CutCopyMode = False
End Sub
Recuerda finalizar la pregunta y puntuar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas