Macro para resaltar valores que que se repiten una determinada cantidad de veces
Insertamos un módulo en el VBAProject (PERSONAL.XLSB)
Si deseamos que la macro este disponible para emplearse en cualquier archivo.
Insertamos un módulo en el VBAProject del Libro en Uso
Si deseamos que la macro este disponible únicamente para emplearse en ese archivo. Para identificarlo este lleva el mismo nombre del archivo y una vez que se escriba el código, el archivo debe guardarse como Libro de Excel habilitado para macros.
Sub ResaltarValoresRepetidos()
Dim Rng As Range, Cld As Range, Vlr As Variant, Rptcn As Integer, Clr As Long, Vnctrd As Boolean, VR As Object
Vnctrd = False
Set VR = CreateObject("Scripting.Dictionary")
Rptcn = InputBox("Número de veces que se debe repetir el valor a resaltar:")
Set Rng = Application.InputBox("Rango de celdas", Type:=8)
For Each Vlr In Rng.Value
If Application.WorksheetFunction.CountIf(Rng, Vlr) = Rptcn Then
Vnctrd = True
If Not VR.Exists(Vlr) Then
Clr = RGB(Int(Rnd() * 256), Int(Rnd() * 256), Int(Rnd() * 256))
VR.Add Vlr, Clr
End If
Clr = VR(Vlr)
For Each Cld In Rng.Cells
If Cld.Value = Vlr Then
Cld.Interior.Color = Clr
End If
Next Cld
End If
Next Vlr
If Not Vnctrd Then
MsgBox "No se encontró ningún valor que se repita " & Rptcn & IIf(Rptcn = 1, " vez", " veces") & "."
ElseIf VR.Count = 1 Then
MsgBox "Se encontró " & VR.Count & " valor que se repite " & Rptcn & IIf(Rptcn = 1, " vez", " veces") & "."
Else
MsgBox "Se encontraron " & VR.Count & " valores que se repiten " & Rptcn & IIf(Rptcn = 1, " vez", " veces") & "."
End If
End Sub
Comentarios
Publicar un comentario