Llamar a un libro abierto o a uno cerrado
Ante todo muchas gracias por su atención, mi pregunta tiene que ver con una macro que estoy armando para copiar los datos de una hoja llamada "Relaciones" que se encuentra un libro llamado "Producción diaria", hacia otro libro que denomine "Relaciones 2008".
Mi problema surge cuando llamo a este último libro, y este se encuentra abierto o cerrado.
En el caso que no esta abierto el libro "Relaciones 2008" no existe problema. Ahora cuando quiero realizar la misma operación y esta abierto, sale un aviso que informa que este libro ya esta abierto y que si lo vuelvo abrir los cambios no guardados se perderán.
Por lo tanto mi pregunta es como puedo poner una condición que analice si es que el libro esta cerrado, entonces ábralo y copie, y si esta abierto solo copie.
Te envío con el código que he trabajado, desde ya muchas gracias
Sub Relaciones()
Workbooks.Open ("\\Fernando\mis documentos\PRODUCCION 2008\Relaciones 2008.xls")
Windows("Produccion Diaria.xls").Activate
Sheets("RELACIONES").Select
Sheets("RELACIONES").Copy Before:=Workbooks("Relaciones 2008.xls").Sheets(1)
Sheets("RELACIONES").Select
Sheets("RELACIONES").Name = Cells(3, 4)
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Windows("Produccion Diaria.xls").Activate
Sheets("ING. DATOS").Select
Range("A2").Select
End Sub
Mi problema surge cuando llamo a este último libro, y este se encuentra abierto o cerrado.
En el caso que no esta abierto el libro "Relaciones 2008" no existe problema. Ahora cuando quiero realizar la misma operación y esta abierto, sale un aviso que informa que este libro ya esta abierto y que si lo vuelvo abrir los cambios no guardados se perderán.
Por lo tanto mi pregunta es como puedo poner una condición que analice si es que el libro esta cerrado, entonces ábralo y copie, y si esta abierto solo copie.
Te envío con el código que he trabajado, desde ya muchas gracias
Sub Relaciones()
Workbooks.Open ("\\Fernando\mis documentos\PRODUCCION 2008\Relaciones 2008.xls")
Windows("Produccion Diaria.xls").Activate
Sheets("RELACIONES").Select
Sheets("RELACIONES").Copy Before:=Workbooks("Relaciones 2008.xls").Sheets(1)
Sheets("RELACIONES").Select
Sheets("RELACIONES").Name = Cells(3, 4)
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Windows("Produccion Diaria.xls").Activate
Sheets("ING. DATOS").Select
Range("A2").Select
End Sub
Respuesta de tavopz
1