Lista para filtrar datos en Excel

Compatibilidad: Truco compatible con Excel 365Truco compatible con Excel 2019Truco compatible con Excel 2016Truco compatible con Excel 2013Truco compatible con Excel 2010

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

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.