2011-10-05 19 views
5

¿Cómo borraría el contenido de una columna de la celda A3 a la celda __ donde __ representa la última entrada en la columna (suponiendo que no haya espacios vacíos entre las entradas).Borrar contenido de una columna

Gracias por la ayuda.

Respuesta

9
range("A3", columns("A").SpecialCells(xlCellTypeLastCell)).Delete 

Eso eliminará A3 a través de la última celda en la columna A, independientemente de cualquier espacio en blanco en la columna.

range("A3", range("A3").End(xlDown)).Delete 

que suprimirá desde A3 hasta la primera celda en blanco después de A3 en la columna A.

+0

¡Gracias por las dos opciones! Estoy aprendiendo el valor de "SpecialCells" – ptpaterson

+1

Utilicé esto y, curiosamente, borró la última columna utilizada cada vez, independientemente de la columna que especifique. Todavía estoy tratando de descubrir por qué. – Paul

8
Range("A3", Range("A3").End(xlDown)).Clear 

Usando .Delete realidad eliminará las células, cambiando cualquier célula que pueden aparecer después de esta lista (separados por una celda en blanco). Si solo desea borrar los contenidos, .Clear es una buena forma de hacerlo.

1

Usaría vbNullString, porque es un poco más rápido y funciona eficientemente en una gran cantidad de hojas de cálculo.

Pegar 'nada' de A3 a la primera celda en blanco en la columna A:

Range(Cells(1,3), Cells(Range("A3").End(xlDown).Row,1)).Value = vbNullString 

Pegar 'nada' de A3 a la última celda de la columna A:

Range(Cells(1,3), Cells(Range("A3").SpecialCells(xlTypeLastCell),1)).Value = vbNullString 
0

he tenido buenos resultados con esto:

Set tbl = ActiveSheet.ListObjects("Table_Name") 
Count = tbl.DataBodyRange.Rows.Count 

Range("AC2:AC" + CStr(Count)).Select 
Selection.ClearContents 
Cuestiones relacionadas