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.