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.