Les comparto una rutina muy sencilla y práctica para obtener valores únicos de un rango utilizando macros.
Descargar libro de ejemplo: Descargar Archivo XLS
'****************************************' ' Email: obed.cruz@exceltrabajaporti.com ' ' www.exceltrabajaporti.com ' ' VBA Software Developer ' '****************************************' Option Explicit Sub ObtenerDatosUnicos() Dim Arr As Variant, ObjDic As Object, lRow As Long Arr = Range("B1:B30") Set ObjDic = CreateObject("Scripting.Dictionary") For lRow = 1 To UBound(Arr) ObjDic(Arr(lRow, 1)) = 0 Next Range("E1").Resize(ObjDic.Count) = WorksheetFunction.Transpose(ObjDic.Keys) End Sub