Sumar celdas con color de relleno formato condicional

Saludos amigo:
Quiero sumar los valores contenidos en celdas que tenga un color de relleno, de formato condicional
Mejor te lo explico con un ejemplo:
1.- Escribir del 1 al 10, respectivamente, desde la celda A1 hasta A10.
2.- Escribir los siguientes números¨:{2,4,6,8,10,12,14,16,18,20}, desde B1 hasta B10, NO importa el orden en que lo escribas.
3.- Ahora quiero pintar el fondo, las celdas (A1:A10), pero solo aquellas, cuyos valores contenidos, se encuentren en (B1:B10).
Teniendo este criterio, solo se pintaran de rojo, las celdas A2, A4, A6, A8, A10.
Luego la suma seria:2+4+6+8+10=30,(respuesta deseada)
Espero haberme dejado entender.
Estaré atento, a cualquier ayuda, que pudiera recibir.
Encontré este Link. Allí esta una macro que si bien no resuelve mi problema, pero si problemas similares:
http://www.jrgc.es/ejemplos/sumar_o_...ondicional.xls
Espero le puedan echar un vistazo.
Un saludo desde Lima, Perú.
Atentamente.
Miguel Paucar
[email protected]

2 Respuestas

Respuesta
Para que detecte el color de fondo en una celda tiene que usar una sintaxis como: if Worksheets("Hoja1"). Cells(1, 1). BackColor = 17 then ... end if, donde el 17 representa un color, para mayor información consulte la ayuda del excel, chao, cjcv2008
Saludos:
Amigo te has confundido. Para detectar el color de una celda con color de relleno que proviebne de FORMATO CONDICIONAl, no se capta así como pones.Lo que tu pones espara captar el color de celdas que no tienen color de relleno de FORMATO CONDICIONAL.
Yo uso el formato condicional(Opción:Fórmula,,.,,, no uso el CELL VALUE)
Espero me puedas ayudar a la consulta anterior.
Gracias
Para rellenar una celda con un color por codificación VB debería usar la sintaxis: Worksheets("Hoja1"). Cells(1, 1). Interior. ColorIndex = 17; donde 17 es un azul morado, los colores se representa de 0 hasta 56, chao, cjcv2008
Respuesta
1
Bueno mira yo hace un tiempito publique un post sobre trucos y aplicaciones de excel con vb, me parece que también hay algunos consejos para hacer lo que tu necesitas.
http://alexcastaneda.blogspot.com/2009/04/ejemplos-y-trucos-excel-y-vba.html
Ahí en la página que se menciona podrás encontrar mucha ayuda referente al tema. Esta muy bien explicados.
Bueno, sin embargo te dejo abierta la posibilidad de que si ni aun buscando mucho en la página que te estoy brindando logras resolver el problema me escribas nuevamente para hacerlo y enviártelo. No lo hago en éste momento porque estoy fuera de casa, y te escribo desde un familiar, y no tengo las herramientas necesarias a la mano.
Sabes justo cuando me mandas tu respuesta, ya estaba el el blog, revisando temas referentes.
Aun no encuentro la solución.. Sabes la llevo buscando ya varios días(mejor no te lo digo, porque te puedes sorprender)
Sin embargo valoro mucho tu respuesta.
Oye te mandé un link donde esta la macro que resuelve problemas similares al mio.Ya la revise y revise.Yo creo que dicha macro necesita alguna modificación en la parte donde dice:
Case xlExpression
If Application.Evaluate(FC.Formula1) Then
CondiciónActiva = Ndx
Exit Function
End If
Estaré atento a tu respuesta mi estimado.
Atentamente,
Miguel Paucar
Un abrazo desde Lima, Perú
Que no te sorprenda que siempre ande conectado al inter, porque prácticamente vivo solo en internet, si no es con la pc, es con el celular je je. Aa pues mira yo llego a mi casa y lo reviso muy bien lo que me has mandado solo espero no sea tan urgente, yo estoy de viaje en el momento como te platique, pero para pasado mañana estaré en casa y podre tranquilamente ver tu ejercicio, en estos momentos no tengo cabeza para nada. Es más te pido disculpas. Cuidate mucho y éxitos.
No te preoucupes amigo, ya que hay pocas persona como tu, quienes apoyan a resolver problemas de los demás.Te felicito por esa actitud.
En realidad efectúo la programación del mantenimiento de maquinarias.Y bueno lo hecho en una tabla dinámica.En el área de datos, están los números que necesitan ser coloreados, según el criterio explicado anteriormente.
Sabes en lo que respecta a tabla dinámica he intentado efectuar una suma personalizada. Tanto lo he intentado, que doy por afirmar que no se puede hacer.
Bueno eso es otro tema.
Lo primero es hallar esa suma de valores.
Uf con tantos problemas de excel, ya todo lo miro excel.jajaja
Bueno estaré atento a tu respuesta mi estimado.
Ya son las 12:48am, hora de dormir.
Un saludo.
Ya puede solucionar tu problema, esta simple, aquí el código:
Sub SumaColores()
'SumaColores Macro
' http://alexcastaneda.blogspot.com
'
' Acceso directo: CTRL+w
' leer del 1 al 10, para dato 1 comprar con todos de la columna b
' si el dato 1 es igual a alguno de la columa b, pintar este dato b con un color y guardar
' el valor en una variable caso contrario no hacer nada
' y así sucesivamente.
Dim num_filas As Integer
Dim suma As Integer
suma = 0
'FUNCIONA ASÍ
'paso 01: seleccionar valores, en la pregunta A1:A10
'tendría que estar seleccionados.
'Luego ejecutar la Macro en mi caso CTRL + W
For Each celdas_columna_A In Selection.Cells 'Selecciona el rango que quieres evaluar
               For Each celda_columna_B In Range("B1:B10") 'verificara si los valores estan en b1:b10
                     'aquí la condición
                      If Val(celdas_columna_A.Text) = Val(celda_columna_B.Text) Then
                      'Aquí la suma
                      suma = suma + Val(celda_columna_B.Text)
                       'aquí el color
                       celda_columna_B.Interior.Color = RGB(191, 219, 255)
                       End If
                Next
Next
'escribimos la suma
Cells(2, 5) = suma
End Sub
Espero abr ayudado, no olvides visitar http://alexcastaneda.blogspot.com
Si necesitas el archivo en excel, solo avisame.
http://alexcastaneda.blogspot.com
Creo que deberías de finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas