Como la función de la moda trabajo con números, me permití crear el código para obtener la moda de valores tipo texto, de un rango determinado.
El rango preestablecido en la macro es de B2 a B151, si deseas otro rango, y que sea un rango de celdas continúas verticales, cambia esta línea en la macro:
rango = "B2:B151"
El resultado te lo deja en la celda B1, si quieres cambiarlo, sólo tienes que modificar esta línea en la macro por la celda de tu preferencia.
Range("B1") = wmoda
Macro:
Sub moda()
'obtiene la moda
'Por.Dam
hoja = ActiveSheet.Name
Worksheets.Add
hojab = ActiveSheet.Name
Sheets(hoja).Select
rango = "B2:B151"
Range(rango).Copy Destination:= _
Sheets(hojab).Range("B2")
Sheets(hojab).Select
Range(rango).Select
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
una = 1
maximo = 0
For Each celda In Range(rango)
If una = 1 Then
dato = celda
maximo = 0
una = 2
End If
dato_n = celda
If dato = dato_n Then
cuenta = cuenta + 1
Else
If cuenta > maximo Then
maximo = cuenta
cuenta = 1
wmoda = dato
Else
cuenta = 1
End If
End If
dato = dato_n
Next
'datos finales
Application.DisplayAlerts = False
Worksheets(hojab).Delete
Application.DisplayAlerts = True
Sheets(hoja).Select
Range("B1") = wmoda
End Sub
Saludos.Dam
Podrías