Macro para eliminar filas

26/04/2004 - 07:44 por aguila_mo | Informe spam
Estoy intentando eliminar las filas que en la columna D y H tengan el
mismo valor a partir de la fila 11, en ambas columnas puede haber
celdas vacias, pero no en la misma fila, lo he intentado con esta
macro;

Sub borrar()
Range("D11").Select
For A = 1 To 500
If ActiveCell.Offset(A, 0) = ActiveCell.Offset(A, 4) Then
ActiveCell.Offset(A, 0).EntireRow.Delete
End If
Next A
End Sub

El problema es qe no me funciona, si alguien tiene una idea de porque
no me funciona se lo agradeceria
 

Leer las respuestas

#1 Héctor Miguel
26/04/2004 - 19:53 | Informe spam
hola !

... eliminar las filas que en ... D y H tengan el mismo valor a partir de la fila 11 ... con esta macro;
Sub borrar()
Range("D11").Select
For A = 1 To 500
If ActiveCell.Offset(A, 0) = ActiveCell.Offset(A, 4) Then [...]
... no me funciona, si alguien tiene una idea de porque [...]



[probablemente] esta 'omitiendo' eliminar algunas filas que 'cumplen' la condicion para 'ser eliminadas' [???]
la razon [posiblemente] es que... estas 'avanzando' por las filas =>For A = 1 To 500<= y...
cuando se elimina alguna fila... la siguiente 'pasa a ocupar' el lugar de la fila eliminada pero...
el 'numero' de fila que le 'correspondia' ANTES de la eliminacion de la 'anterior'... es [por ende] 'brincado' :((
[a menos que... ] cuando 'suceda' alguna eliminacion... se debera RESTAR uno al 'contador' [A = A - 1]

otra alternativa [para 'estos casos'] es efectuar 'el recorrido' a la inversa [de abajo hacia arriba]
p.e. For A = 500 To 11 Step - 1

saludos,
hector.

Preguntas similares