Sumar valores en una columna según el color de la fuente.

Tengo valores en una columna con color de fuente diferente. Me gustaría que una macro recorra toda la columna y me vaya sumando según el color. He intentado hacerlo con algunos ejemplos que he encontrado, pero no me da el resultado.

Sub Sumar()
Dim x1 As Double
Dim x2 As Double
Dim x3 As Double
Set h = Sheets("Hoja1")
For i = 1 To h.Range("D" & Rows.Count).End(3)
If Cells(i, "D").Font.ColorIndex = 3 Then x1 = x1 + i
If Cells(i, "D").Font.ColorIndex = 6 Then x2 = x2 + i
If Cells(i, "D").Font.ColorIndex = 1 Then x3 = x3 + i
Next
h.[E1] = x1
h.[E2] = x2
h.[E3] = x3
End Sub

1 Respuesta

Respuesta
1

Prueba el siguiente código:

Sub Sumar()
  Dim h As Worksheet
  Dim i As Long
  Dim x1 As Double, x2 As Double, x3 As Double
  '
  Set h = Sheets("Hoja1")
  For i = 1 To h.Range("D" & Rows.Count).End(3)
    With h.Cells(i, "D")
      If .Font.ColorIndex = 3 Then x1 = x1 + .Value
      If .Font.ColorIndex = 6 Then x2 = x2 + .Value
      If .Font.ColorIndex = 1 Then x3 = x3 + .Value
    End With
  Next
  h.[E1] = x1
  h.[E2] = x2
  h.[E3] = x3
End Sub

Comprueba con el siguiente código los números de color de la celda:

Sub probarColor()
  MsgBox Range("D4").Font.ColorIndex
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas