Gracias por tu oportuna pregunta, esta macro llama a un archivo que contiene varias fórmulas desde la columna O a la Z desde las fila 1 a la 5000, este es el rango máximo de registros con los que trabajare.
Los datos a procesar son variables, si el archivo a procesar solo tiene 1000 registros necesito eliminar el rango que no utilizo osea los 4000 de la columna O a la Z. aplique inicialmente este código que elimina celda por celda:
Dim mitexto As String
mitexto = "BORRARTODO"
'se evalúa la col A
Range("A1").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = mitexto Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Wend
Al analizarlo y ejecutarlo se demora una eternidad ... por eso aplique este código, que te busca el ultimo dato aplicado a la Columna A, inserta un comentario en la fila inmediata, selecciona desde allí hasta 65536 y elimina todas las filas.
Esto lo realiza en franción de segundos, me costo unas canas verdes ya que no manejo los códigos de forma adecuada pero tengo mis trucos y con el soporte de esta página lo he logrado.
GRACIAS POR TU OPORTUNA CONSULTA, he aprendido bastante de esta página y el día de hoy fue mi primera consulta.
Ya resolví el inconveniente como te comento, te molestare si se presenta alguna duda
[email protected]Dim filalibre As Integer
ActiveWorkbook.Sheets(2).Activate 'selecciona la Hoja 2
Range("A1").Select
'el control se hará sobre la columna A, a partir de la fila
While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
'si la celda contiene datos, pasa a la fila siguiente
Wend
filalibre = ActiveCell.Row
ActiveCell.FormulaR1C1 = "SIN DECISION"
Range("A65536", Range("A65536").End(xlUp)).Select
Selection.EntireRow.Delete