Filtrar archivo

05/10/2004 - 22:01 por mfernandez | Informe spam
Hola a todos.

Necesito saber con que sentencia puedo filtrar o eliminar
de este archivo de las lineas:
User-Name = "" Quiero tener solo los User-Name = "" más
cercano al Acct-Status-Type = Stop y no los otros de este
archivo de excel:


User-Name = "spreckler"
Acct-Status-Type = Stop
Acct-Session-Time = 881
User-Name = "reporteros"
User-Name = "reporteros"
User-Name = "reporteros"
Acct-Status-Type = Start
User-Name = "reporteros"
Acct-Status-Type = Stop
Acct-Session-Time = 1474
User-Name = "reporteros"
User-Name = "reporteros"
Acct-Status-Type = Start
User-Name = "reporteros"
Acct-Status-Type = Stop
Acct-Session-Time = 735
User-Name = "daniel"
User-Name = "daniel"
Acct-Status-Type = Start

Por ejemplo:

User-Name = "spreckler"
Acct-Status-Type = Stop
Acct-Session-Time = 881
User-Name = "reporteros"
Acct-Status-Type = Stop
Acct-Session-Time = 1474
User-Name = "reporteros"
Acct-Status-Type = Stop
Acct-Session-Time = 735 y asi sucesivamente
 

Leer las respuestas

#1 Héctor Miguel
06/10/2004 - 04:37 | Informe spam
hola, mfernandez !

... filtrar o eliminar de este archivo las lineas:
... tener solo los User-Name = mas cercano al Acct-Status-Type = Stop [...]
User-Name = "spreckler"
Acct-Status-Type = Stop
Acct-Session-Time = 881
User-Name = "reporteros"
Acct-Status-Type = Stop
Acct-Session-Time = 1474
User-Name = "reporteros"
Acct-Status-Type = Stop
Acct-Session-Time = 735 y asi sucesivamente [...]



una manera [de entre otras mas posibles] seria como la siguiente:
-> estoy suponiendo que tu listado esta en la columna 'a', desde la fila '2' hasta la fila '20'
-> [te sugiero] usa un bucle 'inverso' [for contador = fin to inicio step -1]
-> modifica mis supuestos y prueba con la siguiente macro...

saludos,
hector.
en un modulo de codigo 'normal' ==Sub User_Stop_Time()
Application.ScreenUpdating = False
Dim Fila As Long
For Fila = 20 To 2 Step -1
With Range("a" & Fila)
If InStr(.Value, "-Time =") > 0 Then
Fila = Fila - 1
ElseIf InStr(.Value, "-Name =") > 0 Then
If Not InStr(.Offset(1), "-Type = Stop") > 0 _
Then .EntireRow.Delete
Else: .EntireRow.Delete
End If
End With
Next
End Sub

Preguntas similares