Contar celdas rellenas cada día

Me gustaría hacer como un tipo de contadores uno de ayer y otro de hoy, en ellos que me cuente las celdas rellenas que hay en una columna.

La idea no es otra que saber el num de celdas que se han rellenado al día con la diferencia entre el final del día de ayer y el de hoy, ¿sino de que otra forma lo podría hacer?

1 Respuesta

Respuesta
1

Esta macro te servirá

Sub control()
Dim ultlinea As Integer
Dim ayer As Date
Dim hoy As Date
Dim lineas As Integer
hoy = Format(Now(), "dd/mm/yyyy")
ultlinea = Sheets("Datos").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Aux").Range("A1").Value = "Filas totales"
Sheets("Aux").Range("B1").Value = "Fecha"
Sheets("Aux").Range("C1").Value = "Filas diarias"
Worksheets("Aux").Select
Range("A1").Select
If Range("A2").Value = "" Then
ActiveCell.Offset(1, 0).Value = ultlinea
ActiveCell.Offset(1, 1).Value = hoy
ActiveCell.Offset(1, 2).Value = ultlinea
Exit Sub
Else
Do
ActiveCell.Offset(1, 0).Select
Loop Until ActiveCell.Value = ""
ActiveCell.Value = ultlinea
ActiveCell.Offset(0, 1).Value = hoy
lineas = ultlinea - ActiveCell.Offset(-1, 0)
ActiveCell.Offset(0, 2).Value = lineas
End If
ayer = hoy - 1
MsgBox ("Hoy se han hecho " & lineas & " lineas")
End Sub

Ten en cuenta que tendras que modificar el nombre de la hoja "Datos" por la que se adapte a tu libro.

También deberás crear una nueva hoja llama "Aux" en la cual guardará cada vex que ejecutes la macro las hojas hechas durante el día

Muchas gracias!

Cuando dices modificar, ¿te refieres que le ponga el nombre "Datos" a la hoja?

Es lo que he hecho y me da error en esta línea

ultlinea = Sheets("Datos").Range("A" & Rows.Count).End(xlUp).Row

Gracias igualmente

Me refería a que en la macro, en vez de "Datos", pongas el nombre de la hoja de tu excel.

Respecto al error, en la macro, como no especificaste en que columna estan los datos, he puesto que la columna es la A. Si no es la A deberás cambiar en esta línea la A por la columna que desees y los datos empiezan desde la fila 1 en adelante

ultlinea = Sheets("Datos").Range("A" & Rows.Count).End(xlUp).Row

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas