2011-10-05 11 views
5

Jak wyczyścić zawartość kolumny z komórki A3 na komórkę __, gdzie __ reprezentuje ostatni wpis w kolumnie (zakładając, że nie ma pustych spacji między pozycjami).Wyczyść zawartość kolumny:

Dzięki za pomoc.

Odpowiedz

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

To spowoduje usunięcie A3 z ostatniej komórki w kolumnie A, niezależnie od pustych pól w kolumnie.

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

To usunie z A3 do pierwszej pustej komórce po A3 w kolumnie A.

+0

Dzięki za obie opcje! Uczę się wartości "SpecialCells". – ptpaterson

+1

Użyłem tego i, o dziwo, wyczyściłem ostatnio użytą kolumnę za każdym razem, bez względu na to, jaką kolumnę podałem. Nadal próbuję dowiedzieć się dlaczego. – Paul

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

Korzystanie .Delete rzeczywiście usunąć komórki, przenosząc się żadnych komórek, które mogą pojawić się po tej liście (oddzielone pustą komórką). Jeśli chcesz tylko wyczyścić zawartość, .Clear jest dobrym rozwiązaniem.

1

Używam vbNullString, ponieważ jest nieco szybszy i działa wydajnie na ogromnej ilości arkuszy danych.

Wklej 'nic' z A3 do pierwszej pustej komórki w kolumnie A:

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

Wklej 'nic' z A3 do ostatniej komórki w kolumnie A:

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

miałem dobre wyniki:

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

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