Pintar datos repetidos de diferentes colores en una columna excel vba

Feliz Día del Padre.

Los datos reptidos estas ordenados de menor a mayor y deseo pintar datos repetidos de diferentes colores en la columna "H"

Sub PintarCeldas()
    For i = 7 To 500
       ant = Cells(7, "H")
       If Cells(i, "H") = ant Then
          Cells(i, "H").Interior.ColorIndex = RGB(Int((200 * Rnd) + 1), Int((200 * Rnd) + 1), Int((200 * Rnd) + 1))
        End If
        ant = Cells(i, "H")
    Next i
End Sub

1 Respuesta

Respuesta
1

Lo siguiente funciona

Sub PintarCeldas()
  Dim i As Long
  Dim ant As Variant
  For i = 7 To Range("H" & Rows.Count).End(3).Row
    ant = Cells(i - 1, "H")
    If Cells(i, "H") = ant Then
      Cells(i, "H").Interior.Color = RGB(Int((200 * Rnd) + 1), Int((200 * Rnd) + 1), Int((200 * Rnd) + 1))
    End If
    ant = Cells(i, "H")
  Next i
End Sub

Pero realmente no entiendo el resultado que buscas.

Si no es lo que quieres, podrías poner una imagen de lo que necesitas.

Gracias Dante por la atención, le envío la imagen 

Nota: Una cosa que debes tener en cuenta cuando haces una pregunta en un foro. Las personas a las que solicitas ayuda no saben absolutamente nada acerca de tus datos, y no debes suponer que seremos capaces de "resolverlo" por nuestra cuenta. Recuerda, nos estás pidiendo ayuda ... así que ayúdanos, brindando la información que necesitamos para hacerlo, incluso si esa información te parece "obvia" (recuerda, sólo es obvia para ti porque estás familiarizado con tus datos).

Prueba esto:

Sub PintarCeldas()
  Dim i As Long, ini As Long, fin As Long
  Dim ant As Variant
  '
  ini = 7
  ant = Range("H7").Value
  For i = 7 To Range("H" & Rows.Count).End(3).Row + 1
    If Range("H" & i).Value <> ant Then
      Range("H" & ini & ":H" & fin).Interior.Color = RGB(Int((200 * Rnd) + 1), Int((200 * Rnd) + 1), Int((200 * Rnd) + 1))
      ini = i
    End If
    fin = i
    ant = Range("H" & i).Value
  Next i
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas