Sumar celdas con formato condicional:

Saludos amigo:
Necesito tu ayuda.
Quiero sumar los valores de celdas que tengan color de relleno rojo, producto de un formato condicional.
Bueno lo explicare mejor 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.
La funcion definida por nosotros no dara por respuesta: 2+4+6+8+10=30
Espero haberme dejado entender.
Estaré atento, a cualquier ayuda, que pudiera recibir.
Encontré este Link, donde resuelve a problemas similares al mio.
http://www.jrgc.es/ejemplos/sumar_o_...ondicional.xls
Allí se encuentra una macro, que no resuelve mi problema. Espero le puedas echar un vistazo.
Un saludo desde Lima, Perú.
Atentamente.
Miguel Paucar

1 Respuesta

Respuesta
1
Este seria el código que te realiza esa labor. Insértalo en un nuevo modulo de VBA.
'<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Sub COLOR_CELDAS()
Dim COLUMNA_BASE$, COLUMNA_COLOR$, CELDA_INI$, POSC_NUM%, CONTADOR_VALORES%
COLUMNA_BASE = InputBox("INGRESE LA LETRA DE LA COLUMNA DE LOS NUMEROS BASE ", "NUMEROS BASE")
CELDA_INI = InputBox("INGRESE LA CELDA DE INICIO DE LOS NUMEROS A COLOREAR", "CELDA INICIO DE FORMATO")
Range(CELDA_INI).Activate
Do Until ActiveCell.Value = ""
On Error GoTo NO_FIND_NUMERO:
POSC_NUM = Application.WorksheetFunction.Match(ActiveCell.Value, ActiveSheet.Range(COLUMNA_BASE & ":" & COLUMNA_BASE), 0)
On Error GoTo 0
ActiveCell.Interior.Color = vbRed
CONTADOR_VALORES = CONTADOR_VALORES + ActiveCell.Value
INI_1:
ActiveCell.Offset(1, 0).Activate
Loop
MsgBox "EL VALOR TOTAL DE LAS CELDAS CON FONDO ROJO ES " & CONTADOR_VALORES, vbInformation + vbOKOnly, "PROCESO FINALIZADO"
Exit Sub
NO_FIND_NUMERO:
Resume INI_1:
End Sub
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>
El programa te va pedir dos valores, primero la letra de la columna en que están los números válidos para colorear, luego la celda inicial desde donde es empezaran a colorear las celdas. Después la macro colorea las celdas y te arroja el valor total.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas