Function ModaT
Esta función me la proporcionaste anteriormente
Public Function ModaT(ByRef Rango As Excel.Range) As String
Dim Texto As String
Dim Datos As Long
Dim I As Long
Dim Mayor As Long
Dim Cuantos As Long
Datos = WorksheetFunction.CountA(Range(Rango.Address))
Mayor = 0
ModaT = ""
For I = 1 To Datos
Texto = Cells(I, Range(Rango.Address).Column)
Cuantos = WorksheetFunction.CountIf(Range(Rango.Address), Texto)
If Cuantos > Mayor Then
Mayor = Cuantos
ModaT = Texto
ElseIf Cuantos = Mayor Then 'podrias usar la regla de decisión de cual de los 2 textos es más largo cuando ambos tienen igual frecuencia
If Len(Texto) > Len(ModaT) Then
ModaT = Texto
End If
End If
Next I
'Para activarla en la celda escribes la funcion como cualquiera de excel y le pasas un rango como parámetro.
End Function
Quiero saber si se puede hacer una función parecida a este pero que maneje jerarquías es decir que contenga un criterio con el cual si pongo el numero 1 me de el texto que más aparece en el rango si pongo 2 me de el texto que aparece más veces después de 1
Public Function ModaT(ByRef Rango As Excel.Range) As String
Dim Texto As String
Dim Datos As Long
Dim I As Long
Dim Mayor As Long
Dim Cuantos As Long
Datos = WorksheetFunction.CountA(Range(Rango.Address))
Mayor = 0
ModaT = ""
For I = 1 To Datos
Texto = Cells(I, Range(Rango.Address).Column)
Cuantos = WorksheetFunction.CountIf(Range(Rango.Address), Texto)
If Cuantos > Mayor Then
Mayor = Cuantos
ModaT = Texto
ElseIf Cuantos = Mayor Then 'podrias usar la regla de decisión de cual de los 2 textos es más largo cuando ambos tienen igual frecuencia
If Len(Texto) > Len(ModaT) Then
ModaT = Texto
End If
End If
Next I
'Para activarla en la celda escribes la funcion como cualquiera de excel y le pasas un rango como parámetro.
End Function
Quiero saber si se puede hacer una función parecida a este pero que maneje jerarquías es decir que contenga un criterio con el cual si pongo el numero 1 me de el texto que más aparece en el rango si pongo 2 me de el texto que aparece más veces después de 1
1 respuesta
Respuesta de jgirj
1