Con base en articulo publicado hace unos meses referente a Sumar celdas por color en Excel, hemos creado este segundo articulo o segunda parte, donde tenemos en cuenta algunas inquietudes realizadas por algunos miembros de nuestra Comunidad Triple E.
De nuestro artículo correspondiente a la primera parte de Sumar celdas por color en Excel surgieron 3 inquietudes puntuales a las cuales se les da solución a través del presente artículo, teniendo en cuenta que las preguntas en mención hacen referencia a lo siguiente:
- Se requiere que los valores decimales se tengan en cuenta en la suma del valor de las celdas
- Se requiere que la suma de los valores de las celdas se realicen de forma automática
- Se requiere que la macro construida para sumar celdas por color, sume la cantidad de celdas que tienen un color especifico y no sumar el valor de dichas celdas
Te recomendamos ver el artículo correspondiente a la primera parte de sumar celdas por color en Excel, al cual puedes acceder a través de >> Aquí <<
Ten en cuenta que para Sumar celdas por color en Excel se construyó una función personalizada, la cual se modifica y se ajusta de acuerdo a lo que se requiere, que específicamente es dar solución satisfactoria a los 3 interrogantes.
A continuación, el vídeo explicativo paso a paso:
Accede desde >> Aquí << a artículo anterior correspondiente a la Parte I
>>Suscribete a nuestro canal de Youtube desde >> Aquí <<
>>Accede desde >> Aquí << a 5 regalos incluyendo un entrenamiento Gratis de cómo ser 80% más productivo en Excel
Artículos anteriores:
Pingback: Cómo saber si un texto se encuentra en una celda de Excel
Pingback: Cómo calcular la suma de valores más altos en Excel?
Es una realidad que Excel es una herramienta muy valiosa si sabe utilizarse de manera adecuada. Desde el primer día que me interesé en aprender a usar esta herramienta me he dado cuenta que no tiene límites. En realidad, Excel me parece como una cocina llena de ingredientes y cada uno los usa a su manera, pero pueden aprovecharse de una y mil formas, la idea es saber que se desea “cocinar”.
Y definitivamente, Ud me parece todo un Master Chef, quien merece toda mi admiración por compartir tan valiosos conocimientos con aprendices como nosotros.
Le deseo una vida llena de éxitos y hojas de excel sin errores por el resto de su vida.
Reciba un cordial saludo desde Cd Juárez, Chih., México.
Hola Cristy, aprecio mucho tu comentario, sobre todo lo último “Le deseo una vida llena de éxitos y hojas de excel sin errores por el resto de su vida”, muy bueno, muchas gracias por tomarte este tiempo para escribirnos, un abrazo.
Nunca había utilizado funciones de usuario. Este tema me llega como anillo al dedo y despertó inquietud para seguir investigando.
Modifiqué su ejercicio y ahora logro buscar celdas con mismo fondo y mismo valor y mismo color de texto, así:
Function CONTARCOLOR_FONDO(CeldaReferencia As Range, RangoSeleccion As Range, Condicion As Boolean) As Double
Dim celdaSeleccionada As Range
For Each celdaSeleccionada In RangoSeleccion
If Condicion = True Then
If celdaSeleccionada.Interior.ColorIndex = CeldaReferencia.Interior.ColorIndex Then
CONTARCOLOR_FONDO = CONTARCOLOR_FONDO + 1
End If
Else
If celdaSeleccionada.Interior.ColorIndex CeldaReferencia.Interior.ColorIndex Then
CONTARCOLOR_FONDO = CONTARCOLOR_FONDO + 1
End If
End If
Next
End Function
Function CONTARCOLOR_VALOR(CeldaReferencia As Range, RangoSeleccion As Range, Condicion As Boolean) As Double
Dim celdaSeleccionada As Range
For Each celdaSeleccionada In RangoSeleccion
If Condicion = True Then
If (celdaSeleccionada.Font.color = CeldaReferencia.Font.color) And (celdaSeleccionada.Value = CeldaReferencia.Value) Then
CONTARCOLOR_VALOR = CONTARCOLOR_VALOR + 1
End If
Else
If (celdaSeleccionada.Font.color CeldaReferencia.Font.color) And (celdaSeleccionada.Value = CeldaReferencia.Value) Then
CONTARCOLOR_VALOR = CONTARCOLOR_VALOR + 1
End If
End If
Next
End Function
Function CONTARCOLOR_FONDO_VALOR(CeldaReferencia As Range, RangoSeleccion As Range, Condicion As Boolean) As Double
Dim celdaSeleccionada As Range
For Each celdaSeleccionada In RangoSeleccion
If Condicion = True Then
If (celdaSeleccionada.Font.color = CeldaReferencia.Font.color) And (celdaSeleccionada.Value = CeldaReferencia.Value) And (celdaSeleccionada.Interior.ColorIndex = CeldaReferencia.Interior.ColorIndex) Then
CONTARCOLOR_FONDO_VALOR = CONTARCOLOR_FONDO_VALOR + 1
End If
Else
If (celdaSeleccionada.Font.color CeldaReferencia.Font.color) And (celdaSeleccionada.Value = CeldaReferencia.Value) And (celdaSeleccionada.Interior.ColorIndex = CeldaReferencia.Interior.ColorIndex) Then
CONTARCOLOR_FONDO_VALOR = CONTARCOLOR_FONDO_VALOR + 1
End If
End If
Next
End Function
Function CONTARCOLOR_DIFERENTEFONDO_VALOR(CeldaReferencia As Range, RangoSeleccion As Range, Condicion As Boolean) As Double
Dim celdaSeleccionada As Range
For Each celdaSeleccionada In RangoSeleccion
If Condicion = True Then
If (celdaSeleccionada.Font.color = CeldaReferencia.Font.color) And (celdaSeleccionada.Value = CeldaReferencia.Value) And (celdaSeleccionada.Interior.ColorIndex CeldaReferencia.Interior.ColorIndex) Then
CONTARCOLOR_DIFERENTEFONDO_VALOR = CONTARCOLOR_DIFERENTEFONDO_VALOR + 1
End If
Else
If (celdaSeleccionada.Font.color CeldaReferencia.Font.color) And (celdaSeleccionada.Value = CeldaReferencia.Value) And (celdaSeleccionada.Interior.ColorIndex CeldaReferencia.Interior.ColorIndex) Then
CONTARCOLOR_DIFERENTEFONDO_VALOR = CONTARCOLOR_DIFERENTEFONDO_VALOR + 1
End If
End If
Next
End Function
Le dejo estas tres funciones como agradecimiento a su labor en espera de comentarios o sugerencias o para una tercera parte del tema.
Inquietud: se puede modificar estas funciones para que muestren ayuda contextual como sucede en las funciones de Excel que a medida que se escriben nos muestran los argumentos requeridos.
Gracias
Saludos Neco, nos parece genial que indagues sobre el contenido que compartimos, estaremos verificando tú modificación y te responderemos lo más pronto posible. Invitamos a la comunidad triple E a compartir el ejercicio y comentar. Gracias