2012-08-06 12 views
15

Tengo una variable larga X que contiene un número. Diga que es 415.¿Cómo elimino todo debajo de la fila X en VBA/Excel?

¿Cómo elimino todo en la hoja de trabajo de la fila 415 y debajo?

Quiero asegurarme de que mi hoja de cálculo esté limpia en la fila 415 y cualquier otra cosa que pueda estar debajo de ella.

¿Cómo puedo hacer esto? Gracias.

Respuesta

32

suena como algo como lo de abajo se adapte a sus necesidades:

With Sheets("Sheet1") 
    .Rows(X & ":" & .Rows.Count).Delete 
End With 

Donde X es una variable que = el número de fila (415)

+0

¿Cuál es la mejor práctica para ejecutar este código? – Dror

+0

De acuerdo. ¿Dónde pego este código para ejecutarlo? –

+0

puede usar macro, vba –

11

Otra opción es Sheet1.Rows(x & ":" & Sheet1.Rows.Count).ClearContents (o .Clear). Es posible que desee utilizar este método en lugar de .Delete porque cualquier celda con dependencias en el rango eliminado (por ejemplo, fórmulas que hacen referencia a esas celdas, aunque estén vacías) mostrará #REF. Este método preservará las referencias de fórmula a las celdas borradas.

1

Esta función se borrarán los datos de la hoja a partir de fila y columna especificada:

Sub ClearWKSData(wksCur As Worksheet, iFirstRow As Integer, iFirstCol As Integer) 

Dim iUsedCols As Integer 
Dim iUsedRows As Integer 

iUsedRows = wksCur.UsedRange.Row + wksCur.UsedRange.Rows.Count - 1 
iUsedCols = wksCur.UsedRange.Column + wksCur.UsedRange.Columns.Count - 1 

If iUsedRows > iFirstRow And iUsedCols > iFirstCol Then 
    wksCur.Range(wksCur.Cells(iFirstRow, iFirstCol), wksCur.Cells(iUsedRows, iUsedCols)).Clear 
End If 

End Sub 
+0

Esto me ayudó. El col final opcional y/o la fila serían aún más fríos. ;) –

-1

Cualquier referencia a 'fila' debe utilizar no 'entero' 'de largo' de lo contrario se desbordará si la hoja de cálculo tiene mucho de datos.

Cuestiones relacionadas