¿Cómo elimino filas en excel en un periodo de tiempo que sea cada minuto?

Tengo la siguiente tabla en excel ocupo dejar solo un valor por minuto y los demás valores sean eliminados, este es un pequeño fragmento de la hoja de excel que tengo para ejemplificar la tabla es muy grande y no quiero eliminar de manera manual como lo podría realizar?

PHV 2:01:06 p.m. 4.204041 1 41209584097

PHV 2:01:16 p.m. 4.204041 1 41209584213
PHV 2:01:27 p.m. 4.203924 1 41209584340
PHV 2:01:37 p.m. 4.204508 1 41209584456
PHV 2:01:47 p.m. 4.204859 1 41209584572
PHV 2:01:57 p.m. 4.205326 1 41209584688
PHV 2:02:07 p.m. 4.204742 1 41209584803
PHV 2:02:17 p.m. 4.205326 1 41209584919
PHV 2:02:27 p.m. 4.205209 1 41209585035
PHV 2:02:37 p.m. 4.205209 1 41209585150
PHV 2:02:48 p.m. 4.205442 1 41209585278
PHV 2:0 2:58 p.m. 4.205442 1 41209585394
PHV 2:03:08 p.m. 4.205559 1 41209585509
PHV 2:03:18 p.m. 4.205442 1 41209585625
PHV 2:03:28 p.m. 4.205559 1 41209585741

1 respuesta

Respuesta
1

Me surgen unas dudas:

-¿Si hay que dejar solo una línea de cada minuto cual dejamos? ¿La primera?

-Necesito saber el rango que ocupa la tabla, se decir por ejemplo:

Empieza en A1 y tiene 5 columnas...

Contiene 6 columnas.

y si inicia en A1 y finaliza en D101617.

No es importante cual se deje puede dejarse cualquiera mientras sea una por minuto en la tabla que tengo en algunos casos tengo en un minuto 10 datos en otras 3 en otras solo 1 dato, en este caso ese se queda dado que en ese minuto es el único.

Esta sería la macro que necesitas, teniendo en cuenta que los datos empiezan en A1 y no hay encabezado

Sub ejemplo()
'por luismondelo
Range("a1:d" & Range("a65000").End(xlUp).Row).Sort key1:=Range("b1"), order1:=xlAscending, Header:=xlNo, ordercustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("b1").Select
Do While ActiveCell.Value <> ""
ActiveCell.Offset(0, 3).Value = Minute(ActiveCell.Value)
ActiveCell.Offset(1, 0).Select
Loop
Range("e1").Select
Do While ActiveCell.Value <> ""
valor = ActiveCell.Value
fila = ActiveCell.Row
contarsi = Application.WorksheetFunction.CountIf(Columns("e:e"), valor)
If contarsi > 1 Then
ActiveCell.Offset(1, 0).Select
Range(ActiveCell, ActiveCell.Offset(contarsi - 2, 0)).EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
activesheet.columns("e:e").entirecolumn.delete
End Sub

recuerda finalizar la consulta

Ok gracias dejame realizo un ejercicio y te comento

Ya lo valide y me marca un error: No coinciden los indices en ocasiones me indica:

Se ha producido el error 13 en tiempo de ejecución: No coinciden los tipos

Será mejor que me mandes el archivo con los datos o un fragmento de los datos para poder hacerlo yo

[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas