Option Explicit ' Sub abc() Dim r As Range, d Set d = CreateObject("scripting.dictionary") For Each r In ActiveSheet.UsedRange If r.Column < 5 Then If Len(r.Value) Then d(r.Value) = d(r.Value) + 1 End If Next [f1].Resize(d.Count, 2) = _ Application.Transpose(Array(d.keys, d.items)) End Sub