Depurar fichero

01/02/2004 - 11:02 por Manuel | Informe spam
Hola a todos

Necesito depurar un fichero, y quisiera poder hacer una
macro, que realicela siguiente tarea:

1.-Buscar en la columna "A", el caracter "--", y después
elimine las 10 filas completas superiores, hasta el final
del fichero.

2.-Buscar en cada fila, y cada vez que encuentre una fila
vacia, copie los datos de la fila superior no vacia, pero
tan solo los datos existentes de las columnas "A"a la "D".

Gracias por vuestra colaboración
 

Leer las respuestas

#1 Héctor Miguel
04/02/2004 - 08:01 | Informe spam
hola, Manuel !

Necesito depurar un fichero, y quisiera poder hacer una macro, que realice la siguiente tarea:
1.-Buscar en la columna "A", el caracter "--", y ... elimine las 10 filas completas superiores, hasta el final del fichero.
2.-... cada vez que encuentre una fila vacia, copie los datos de la fila superior no vacia ... de las columnas "A"a la "D".



no estoy [muy] seguro de haber captado 'exactamente' tu solicitud :((
[de cualquier forma]... la siguiente 'propuesta' es [o pudiera ser] un 'buen comienzo' :))
'entendiendo' por =>las 10 filas superiores<= 'incluida' la que 'contiene' el caracter "--" [o sea... 11 filas 'eliminables']

si cualquier duda... ¿comentas?
saludos,
hector.
___ en un modulo de codigo 'normal' ___
Sub Borrar10_y_Copiar()
Dim Fila As Long
With ActiveSheet
For Fila = .Range("a65536").End(xlUp).Row To 11 Step -1
With .Range("a" & Fila)
If InStr(.Value, "--") > 0 Then
Range(.Offset(-10), .Offset(0)).EntireRow.Delete
Fila = Fila - 10
End If
End With
Next
For Fila = 12 To .Range("a65536").End(xlUp).Row
With .Range("a" & Fila)
If Application.CountBlank(.EntireRow) = 256 Then
Range(.End(xlUp), .End(xlUp).Offset(, 3)).Copy .Offset(0)
End If
End With
Next
End With
End Sub

Preguntas similares