Necesito que mi UserForm oculte el libro y que no tenga conflicto si ya había un libro abierto

Necesito una programación donde el Userform oculte el libro del que se ejecutó pero que no afecte a otros libros que ya estuvieron abiertos, el código que creé fue el siguiente:

Private Sub Workbook_Open()
If Workbooks.Count = 1 Then
Application.Visible = False
UserForm1.Show False
End If
If Workbooks.Count > 1 Then
Application.Windows("Libro1.xlsm").Visible = False
UserForm1.Show False
End If
End Sub

Esto lo puse en la seccion ThisWorkbook, para que al inicial evalue si hay un solo libro abierto entonces hace invisible a la aplicación, si hay mas de un libro abierto solo se oculta el libro mientras que los demas siguen visibles; pero mi conflicto entra cuando mi ListBox1 quiere añadir una tabla por su nombre, entonces no encuentra la tabla porque no esta activo el libro por la función:

Application.Windows("Libro1.xlsm").Visible = False

El codigo que ocupo para añadir una tabla es el siguiente:

Me.ListBox1.Rowsource = "Tabla_X"

No sé si exista un codigo que especifique de que Libro tiene que añadir la tabla algo asi como:

Me.ListBox1.Rowsource = "["Libro1.xlsm]Tabla_X"

Se que eso es incorrecto pero si existe alguna Sintaxis lo agradeceria mucho.
Otro punto que quiero retomar es que podría resolverse de alguna manera si pongo en Activo mi Libro1 al iniciar un procedimiento con:

Application. Workbooks("Libro1.xlsm").Activate

Esto me resuelve el problema pero empieza otro, no lo pone activo completamente.

Private Sub Boton_Click()
Application.Workbooks("Libro1.xlsm").Activate
Me.ListBox1.Clear
Me.ListBox1.RowSource = "Tabla_X"
Me.TextBox1.SetFocus
Me.TextBox1.SelStart = 0
Me.TextBox1.SelLength = Len(Me.TextBox1.Text)
End Sub

Agradeceria si me ayudan con este problema, Resumiendo mi problema es que cuando hago invisible el Libro1 mi boton no encuentra la tabla porque no esta activo el Libro1, Quiero activar el libro pero que al mismo tiempo este oculto o invisible.

Añade tu respuesta

Haz clic para o