Как очистить содержимое столбца от ячейки A3 до ячейки __, где __ представляет последнюю запись в столбце (при условии, что между записями нет пустых мест).
Спасибо за помощь.
Как очистить содержимое столбца от ячейки A3 до ячейки __, где __ представляет последнюю запись в столбце (при условии, что между записями нет пустых мест).
Спасибо за помощь.
range("A3", Range("A" & Columns("A").SpecialCells(xlCellTypeLastCell).Row)).Delete
Это удалит A3 через последнюю ячейку в столбце A, независимо от каких-либо пробелов в столбце.
range("A3", range("A3").End(xlDown)).Delete
Это удалит от A3 до первой пустой ячейки после A3 в столбце A.
EDIT: исправлен первый фрагмент кода, поэтому он удаляет только ячейки в столбце A.
Range("A3", Range("A3").End(xlDown)).Clear
Использование .Delete фактически удалит ячейки, сдвинув вверх любые ячейки, которые могут появиться после этого списка (разделенные пустой ячейкой). Если вы просто хотите очистить содержимое, .Clear — хороший способ.
.ClearContents
, но это то же самое, я полагаю 11.03.2021 Я бы использовал vbNullString, потому что он немного быстрее и эффективно работает с огромным количеством листов данных.
Вставьте «ничего» из A3 в первую пустую ячейку в столбце A:
Range(Cells(1,3), Cells(Range("A3").End(xlDown).Row,1)).Value = vbNullString
Вставьте «ничего» из A3 в последнюю ячейку в столбце A:
Range(Cells(1,3), Cells(Range("A3").SpecialCells(xlTypeLastCell),1)).Value = vbNullString
У меня были хорошие результаты с этим:
Set tbl = ActiveSheet.ListObjects("Table_Name")
Count = tbl.DataBodyRange.Rows.Count
Range("AC2:AC" + CStr(Count)).Select
Selection.ClearContents