Excel - Una macro de contar si basada en múltiples criterios

Problema

¿Alguien podría ayudarme con una macro de contar si en base a múltiples criterios? He adjuntado un archivo de muestra: aquí

Necesito un recuento de la palabra "Falso" en diferentes rangos que comienzan en la columna c1 para continuar. La macro debería darme el conteo de rango diferente en las columnas C: C y detenerse hasta que no haya ninguno en la siguiente celda.

Los rangos de los datos pueden cambiar de un día a otro. así que quiero que la macro cuente en los rangos que son celdas vacías en la columna C y se detenga si no hay nada en la otra celda.

Solución

Prueba esta macro:

 Prueba secundaria ()

Dim r As Range, j As Integer, k As Integer, m As Integer

Hojas de trabajo ("hoja 2"). Activar

j = Cells (Rows.Count, "C"). End (xlUp) .Offset (1, 0) .Row

k = j

Hacer

Si k = 1 entonces salga Do

Si Celdas (k, "C"). Desplazamiento (-2, 0) = "" Entonces

Establecer r = Celdas (k, "c"). Desplazamiento (-1, 0)

Más

Establecer r = Rango (Celdas (k, "C"). Desplazamiento (-1, 0), Celdas (k, "c"). Desplazamiento (-1, 0) .End (xlUp))

Terminara si

'msgbox r.Dirección

m = WorksheetFunction.CountIf (r, "false")

'msgbox m

Células (k, "c") = m

Si Celdas (k, "c"). Fin (xlUp) .Address = "$ C $ 1" Luego salga Sub

k = Celdas (k - 1, "c"). Fin (xlUp) .Offset (-1, 0). Fila

'msgbox k

Lazo

End Sub

Sub deshacer ()

Dim r As Range, c As Range

Hojas de trabajo ("hoja 2"). Activar

Establecer r = Rango (Rango ("C1"), Celdas (Rows.Count, "C"). Fin (xlUp))

Para cada c en r

Si WorksheetFunction.IsNumber (c) entonces c.Clear

Siguiente c

End Sub

Gracias a venkat1926 por este consejo en el foro.

Artículo Anterior Artículo Siguiente

Los Mejores Consejos