Macro: Abrir libro y/o saltar cuando este abierto

15/11/2006 - 21:36 por CARLOS CARNERO | Informe spam
Muy buenas a todos, una consulta: Les agradecería atender mi
solicitud, porque necesito usar el mismo botón (ej: Botón6) para
ejecutar una macro, tanto cuando esten los dos ó más libros abiertos
para saltar de un libro a otro, ó como en el caso que no estuviera
abierto, este comando ejecutará en ese momento la apertura de este
segundo libro.

Tengo estas dos sintaxis por separado: Necesito unificarla para que sea
condicional como lo expuesto ó como cuando se usa la condicional en
fórmulas (=Si):

1) Este es el caso cuando los dos libros estan abiertos y se realiza el
salto:

Sub Botón6_AlHacerClic()
'
' Botón6_AlHacerClic Macro
' Macro grabada el 4/06/2005 por Departamento de Sistemas
'

'
Windows("SOLICITUD.xls").Activate
End Sub

2) En el caso que el otro libro no este abierto:

ChDir "C:\Carlos\Proyecto POEH\Proyecto Alcanfores\FERROCARRIL"
Workbooks.Open FileName:= _
"C:\Carlos\Proyecto POEH\Proyecto
Alcanfores\FERROCARRIL\DATA.xls" _
, UpdateLinks:=0
End Sub
 

Leer las respuestas

#1 Héctor Miguel
16/11/2006 - 03:37 | Informe spam
hola, Carlos !

un ejemplo 'practico' [por sencillo] pudiera ser +/- como el siguiente [para cuando no este abierto el otro libro]...

' [otras lineas de tu codigo] ... '
On Error Resume Next
Tmp = Workbooks("mi otro libro.xls").Name
If Err <> 0 Then Workbooks.Open "c:uta y\carpetas donde esta\mi otro libro.xls"
On Error GoTo 0
' [otras lineas de tu codigo] ... '

en caso de que 'mi otro libro' estuviera cerrado... lo abre ->y lo deja como activo<- <= OJO
si necesitas que el libro 'activo' siga siendo el que contiene la macro en ejecucion... modifica a...
If Err <> 0 Then Workbooks.Open _
"c:uta y\carpetas donde esta\mi otro libro.xls": ThisWorkbook.Activate

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.

__ la consulta original __
... para ejecutar una macro, tanto cuando esten los dos o más libros abiertos para saltar de un libro a otro
o como en el caso que no estuviera abierto, este comando ejecutara en ese momento la apertura de este segundo libro.
Tengo estas dos sintaxis por separado: Necesito unificarla para que sea condicional como lo expuesto ...
1) Este es el caso cuando los dos libros estan abiertos y se realiza el salto:
Sub Botón6_AlHacerClic()
Windows("SOLICITUD.xls").Activate
End Sub
2) En el caso que el otro libro no este abierto:

ChDir "C:\Carlos\Proyecto POEH\Proyecto Alcanfores\FERROCARRIL"
Workbooks.Open FileName:= _
"C:\Carlos\Proyecto POEH\Proyecto Alcanfores\FERROCARRIL\DATA.xls" _
, UpdateLinks:=0
End Sub

Preguntas similares