Respuesta a: No carga información en listbox

#19467
Excelfull
Superadministrador

El problema es que el ListBox solo reconoce correctamente la referencia si la hoja del RowSource está activa. Por eso:

  • Cuando estás en la hoja «BaseDeDatos», todo funciona perfecto.
  • Pero cuando estás en otra hoja, el control no sabe interpretar correctamente =BaseDeDatos!A2:B100 desde otra hoja activa.

Soluciones: Aquí te van 3 opciones que puedes aplicar:

Opción 1: Usar una tabla con nombre (rango nombrado dinámico)

  1. Ve a la hoja «BaseDeDatos«.
  2. Selecciona el rango con los datos (por ejemplo, A2:B100).
  3. Asigna un nombre al rango:
    • En la barra de nombres, escribe algo como: miLista
  4. En el formulario, en la propiedad RowSource del ListBox, escribe: =miLista

➡️ Esto funciona desde cualquier hoja, porque miLista es un nombre global.

Opción 2: Usa INDIRECTO con Validación de Datos (para listas simples)
Si tu lista es de una sola columna, puedes usar INDIRECTO(«BaseDeDatos!A2:A100») dentro de un rango auxiliar, y enlazar el ListBox a ese rango auxiliar.

Opción 3: Crea un helper oculto con fórmula que refleje los datos

1. En cada hoja donde uses el formulario, crea un rango oculto que hace referencia a los datos de la hoja base.

Ejemplo:
=BaseDeDatos!A2
=BaseDeDatos!A3

     2. Nombra ese rango como ListaActiva y usa =ListaActiva como RowSource.

💬 ¿Tienes una consulta sobre Excel?
Asistente de Excel