¿Cómo cambiarse de un libro de Excel activo al siguiente libro abierto mediante macro?

Quiero trasladarme de un libro activo en el cual estoy trabajando hacia cualquier otro libro de excel que esté abierto.

Traté de hacerlo con: workbooks(2). Active este código al igual que workbooks(workbooks. Count). Active me trasladan del archivo en que estoy a otro, pero lo malo es que cuando el libro en que yo estoy es el número 2 o el último libro abierto este código no me funciona porque me manda al mismo libro en que ya estoy.

Me ayudan

2 Respuestas

Respuesta
1

Usa esto

Esto lo pones en un modulo del libro 1 y cambias el nombre del libro a seleccionar

Sub select_hoja()
Workbooks("Libro2").Activate
End Sub

valora la respuesta para finalizar saludos!

Amigo gracias por contestar, pero es básicamente lo que tengo indicado en la pregunta. De esa forma no me sirve.

Pero poniendo la macro en ambos libro si. De caso contrario usa la propuesta de Fejoal saludos!

Respuesta
1

.06.03.17

Buenas tardes,

Creo que la instrucción que buscas es:

    ActiveWindow. ActivateNext

Similarmente, existe ActiveWindow. ActivatePrevious, para ir al libro anterior.

.

¡Gracias!  De tanta cosa que estaba pegado con eso!

.

Así es. Nos pasa todo el tiempo.

Eventualmente, puede incluir esas instrucción en un ciclo hasta que encuentres un libro particular donde detenerse.

Por caso:

Sub TUMacro()
'VARIABLE:
ElLibro = "facturas.xlsm"
'  
LibroIni = ActiveWorkbook.Name
Do
    ActiveWindow.ActivateNext
    If ActiveWorkbook.Name = ElLibro Then Exit Do ' termina loop cuando lo encuentra
    If ActiveWorkbook.Name = LibroIni Then 'control de libro abierto
        MsgBox "El archivo " & ElLibro & " NO está abierto", vbCritical, "LIBRO NO ENCONTRADO"
    End If
    Exit Do
Loop
' otras instrucciones
End Sub

Abrazo

Fer

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas