De nuevo... Macro conteo y reseteo

Mi estimado, disculpa nuevamente el molestarte. No he podido configurar la macro como me indicaste, le atribuyo ello a mi inexperiencia e ineptitud.
¿Existirá la manera de poder pasarte mi archivo en Excel y tu ayudarme a ver como está configurado todo?
http://hotfile.com/dl/56201577/5a55f81/Fallas.xls.html
Te lo agradecería enormemente.
Saludos cordiales,
David.

1 respuesta

Respuesta
1
en el siguiente link lo puede descargar http://cid-31c63e44cbf9af3a.office.live.com/self.aspx/TRABAJOS%20EXCEL/Fallas.xls
Bueno, cambie la macro, pero hace lo mismo, a continuación dejo la rutina toda comentada linea por linea:
Sub fallas()
Dim y As Integer
Dim z As Integer
contador = 0
y = 3
auxhis = 0
Sheets("Julio").Range("C11").Value = 0
Sheets("Julio").Range("C12").Value = 0
'seleccionamos la hoja julio
Sheets("Julio").Select
'seleccionamos el rango B1
Range("B1").Select
'seleccionamos la primer celda que vamos a evaluar (C3)
ActiveCell.Offset(2, 0).Select
'establecemos un ciclo para evaluar los rangos B3:K3,B5:K5 y B7:K7
For x = 1 To y
'establecemos un ciclo para evaluar desde la columna B hasta la k
For z = 2 To 11
'a esta variable le asignamos el valor que se encuentre en C12
historial = Sheets("Julio").Range("C12").Value
'evaluamos si la celda activa es diferente de 0
If (ActiveCell.Value <> 0) Or (ActiveCell.Value = "-") Then
'al ser asi, se desplaza una celda a la derecha
ActiveCell.Offset(0, 1).Activate
'las siguientes variables le otorgamos valor 0
contador = 0
auxhis = 0
Sheets("Julio").Range("C11").Value = contador
'si la anterior condicion no se cumple
    Else
'evaluamos si la celda activa es 0
    If (ActiveCell.Value = 0) Then
'al ser asi a la variable contador y auxhis le aumentamos su valor progresivamente de 1 en 1
    contador = contador + 1
    auxhis = auxhis + 1
'nos desplazamos una celda a la derecha
    ActiveCell.Offset(0, 1).Activate
'seleccionamos el rango C11 y le asignamos el valor de la varible contador
    Sheets("Julio").Range("C11").Value = contador
'terminamos con la segunda validacion
    End If
'terminamos con la primera validacion
End If
'evaluamos si la cantidad de la variable auxhis es mayor que la cantidad de historial
If (auxhis > historial) Then
'al ser asi, entonces al rango C12 le asignamos la cantidad de la variable auxhis
Sheets("Julio").Range("C12").Value = auxhis
'si no se cumple la anterior condicion
    Else
'le asignamos a C12 la cantidad del historial
    Sheets("Julio").Range("C12").Value = historial
'finalizamos esta validacion
End If
'continuamos evaluando la siguiente celda hasta llegar a la columna K
Next
'evaluada este rango, aumentamos la cantidad de y y le sumamos 2 cantidades
y = y + 2
'seleccionamos el rango B1
Range("B1").Select
'nos desplazamos al siguiente rango para comenzar a evaluar nuevamente
ActiveCell.Offset(y - 1, 0).Activate
'empezamos a evaluar nuevamente
Next
'evaluamos el rango B9 si es igual a 0
If (ActiveCell.Value = 0) Then
'al ser asi, a la cantidad actual del contador y del auxhis le asignamos 1 cantidad mas
contador = contador + 1
auxhis = auxhis + 1
'seleccionamos el rango C11 y le asignamos la cantidad del contador
Sheets("Julio").Range("C11").Value = contador
'evaluamos si la cantidad de auxhis es mayor a la del historial
    If (auxhis > historial) Then
'al ser asi, asignamos al rango C12 el valor de auxhis, de lo contrario queda la de historial
    Sheets("Julio").Range("C12").Value = auxhis
'finalizamos la segunda validacion
    End If
'finalizamos la primer validacion
End If
End Sub
Espero que mi ayuda le sea de utilidad, recuerde que cualquier consulta me la puede hacer en mi perfil y con mucho gusto le colaboro, POR FAVOR NO OLVIDAR PUNTUAR Y FINALIZAR LA PREGUNTA, que tenga un feliz día!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas