Lista para filtrar datos en Excel

Compatibilidad: Excel 365 2021 2019 2016

Podemos crear una lista para filtrar los resultados de los datos deseados.

Lista para filtrar datos en Excel

En la columna B disponemos de los valores del país por el que deseamos filtrar sus resultados según la celda B2.

datos para filtrarlos en Excel
  • VALORES ÚNICOS PARA LA LISTA

En la columna K insertará un valor sin repetidos del pais.

  1. Con Excel abierto.

  2. Pulsar la tecla Alt y mantener pulsada / Pulsar la tecla F11. Mostrará el editor de Visual Basic.

  3. Ir a: Barra de Menú / Insertar / Módulo. Mostrará la ventana del módulo donde escribimos la macro.

    Explorador de Proyectos con módulo1 seleccionado
  4. Escribir el código de la macro:

    Sub DatosUnicos()

    Dim origen As Variant, Dic_objeto As Object, fila As Long
    Dim Target As Range

    Range("K:K").Clear
    origen = Range("B5:B1000")
    Set Dic_objeto = CreateObject("Scripting.Dictionary")

    For fila = 1 To UBound(origen)
    Dic_objeto(origen(fila, 1)) = 0
    Next

    Range("K1") = "PAIS"
    Range("K2") = "Todos"

    Range("K3").Resize (Dic_objeto.Count) = WorksheetFunction.Transpose (Dic_objeto.Keys)

    End Sub

  5. Ejecutar la macro y verificar como en la columna K muestra cada país sin duplicados.

  • VALIDACIÓN: LISTA
  1. Seleccionar la celda E1. Donde mostrar el número de valores deseados.

  2. Ir a: Cinta de opciones / Pestaña: Datos / Grupo: Herramientas de datos / Validación de datos / Validación de datos . Mostrará la ventana de validación.

    Ventana validación tipo lista con fórmula
  3. Ir a: Permitir / Seleccionar: Lista.

  4. Ir a: Origen / Escribir:

    =DESREF(K2;0;0;CONTARA(K:K);1)
  5. Pulsar el botón Aceptar. Cierra la ventana y aplica la validación para seleccionar el país deseado.

  • CREAR MACRO PARA LA LISTA
  1. Ir a: Explorador de Proyectos / VBAProject / Doble Clic sobre Hoja1 (Hoja1). Si el panel no está visible Ir a: Barra de menú / Ver / Explorador de proyectos. Mostrará la ventana donde escribir la macro.

  2. Escribir el código de la macro:

    Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$B$2" Then
    If Range("B2") = "Todos" Then
    Range("B5").AutoFilter
    Else
    Range("B5").AutoFilter Field:=1, Criteria1:=Range("B2")
    End If
    End If

    End Sub

  3. Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.

  • REALIZAR PROCEDIMIENTO
  1. Ir a: Celda B2 / Seleccionar el país deseado. Verificar como se filtran los datos.

  2. Ir a: Celda B2 / Seleccionar Todos. Para mostrar todos los valores sin filtrar.

Celda B2 seleccionando el país de la columna
Nivel de dificultad: Experto VBA-Macros Excel Experto VBA - Macros

- Consultar:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.