Colores en celdas

Hola, quisiera saber si existe una fórmula/macro o lo que sea para hacer esto:
Tengo una celda coloreada y necesito sumar la cantidad de celdas de ese color puesto que tengo 4 colores distintos.
Y lo que entiendo es que el programa las toma como en blanco esas celdas coloriadas o bueno rellenadas de colores
Si esta pregunta ya fue hecha agradezco que me deriven a esa página.
Muchas gracias por anticipado.
Por la atención prestada y por la pronta respuesta a mi inquietud

1 Respuesta

Respuesta
1
Aquí tienes una función de inocampo. Tienes que poner la celda B2 del color que quieres sumar y en A1 digitas la función:
Function SumByColor(InputRange As Range, ColorRange As Range) As Double
Dim cl As Range, TempSum As Double, ColorIndex As Integer
ColorIndex = ColorRange.Cells(1, 1).Interior.ColorIndex
TempSum = 0
On Error Resume Next
For Each cl In InputRange.Cells
If cl.Interior.ColorIndex = ColorIndex Then
TempSum = TempSum + cl.Value
End If
Next cl
On Error GoTo 0
Set cl = Nothing
SumByColor = TempSum
End Function
Por ejemplo =SumBycolor(D1:D16,B2)
[email protected]
Hola amigo el problema es que soy un poco novato en el asunto y no se en donde colocar las funciones y la tabla esta rellena de colores creo que por eso no hay ningún problema no cierto y necesito sumar los de color ejm: amarillo y color rojo y verificar que sumando los dos sea el total de colores que hay
Gracias amigazo por la colaboración y por la paciencia
Presionas Ctrol-F11, te vas al menú Insertar-Módulo, en la pantalla que te sale pegas el código anterior.
Amigazo
No sael nada
Ni suma ni nada en la celda donde coloco la función supuestamente para sumar que da =SumBycolor(D5:D21;B2)
Y en la celda A1 copio lo siguiente pero no hace nada
Function SumByColor(InputRange As Range, ColorRange As Range) As Double
Dim cl As Range, TempSum As Double, ColorIndex As Integer
ColorIndex = ColorRange.Cells(1, 1).Interior.ColorIndex
TempSum = 0
On Error Resume Next
For Each cl In InputRange.Cells
If cl.Interior.ColorIndex = ColorIndex Then
TempSum = TempSum + cl.Value
End If
Next cl
On Error GoTo 0
Set cl = Nothing
SumByColor = TempSum
End Functaion
Que falta amigazo o en que estoy haciendo mal en el office 2007
gracias
En la primera respuesta está todo. Primero copias el código que te puse en el Editor de VBA, presionas Alt-F11, Insertar-Insertar Módulo. En la pantalla que sale PEGAS EL CÓDIGO ANTERIOR.
Suponiendo que tienes varios datos con diferentes colores en el rango D1:D20, entonces en B2 pones el color de fondo que quieres sumar, luego en A1 digitas =SumByColor(D1:D20, B1)
Si no entiendes esto, entonces no sé cómo explicártelo.
[email protected]
Listo si salio
Pero al momento de sumar los colores me da 0
por que motivo o razón sera
y sabes cual fue el lio de no entender la primera vez es que con ctrl + F11 sale una hoja más diciendo macro
pero con ALT +F11 salio visual basic y pus así si escribí la función
pero ahora el lio es porque me da 0 el resultado gracias por tu ayuda amigazo
La única razón que se me ocurre es que tengas texto en el rango a sumar.
Perdona que puse primero Ctrol-F11, es que a veces tengo que responder lo más rápido posible y se me cruzan los cables.
No hay
Texto en las celdas por que estuve moviendo un poco la función y me sale error fórmula refiere a celdas vacías venga amigazo le envíe una invitación al correo de gmail haber si de pronto le puede echar un vistazo al archivo y me comenta si se puede claro esta
Gracias
Amigazo necesito un macro adicional para convertir números a letras
Por ejemplo: $ 2.000.000
A letras: dos millones de pesos
Amigazo eres como te pusiste el alias eres un experto genial gracias por tu ayuda
modifique un par de variables y logre que sumaran los colores con perfección gracias
pero tengo otro lio necesito convertir de números a letras si me pudieses ayudar con este otro tema te lo agradecería enormemente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas