



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

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

- VALORES ÚNICOS PARA LA LISTA
En la columna K insertará un valor sin repetidos del pais.
Con Excel abierto.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir a: Barra de Menú
Insertar
Módulo. Mostrará la ventana del módulo donde escribimos la macro.
Escribir el código de la macro:
Sub DatosUnicos()
Dim origen As Variant, Dic_objeto As Object, fila As Long
Dim Target As RangeRange("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
NextRange("K1") = "PAIS"
Range("K2") = "Todos"Range("K3").Resize (Dic_objeto.Count) = WorksheetFunction.Transpose (Dic_objeto.Keys)
End Sub
Ejecutar la macro y verificar como en la columna K muestra cada país sin duplicados.
- VALIDACIÓN: LISTA
Seleccionar la celda E1. Donde mostrar el número de valores deseados.
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.
Ir a: Permitir
Seleccionar: Lista.
Ir a: Origen
Escribir:
=DESREF(K2;0;0;CONTARA(K:K);1)Pulsar el botón Aceptar. Cierra la ventana y aplica la validación para seleccionar el país deseado.
- CREAR MACRO PARA LA LISTA
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.
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 IfEnd Sub
Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.
- REALIZAR PROCEDIMIENTO
Ir a: Celda B2
Seleccionar el país deseado. Verificar como se filtran los datos.
Ir a: Celda B2
Seleccionar Todos. Para mostrar todos los valores sin filtrar.


- Consultar: