VBA清除一定范围或单元格中的内容

时间:2018-08-16 00:00:44

标签: excel vba excel-vba

如何清除以参考单元格开头的列和行?

我用过

For x = 1 To 20 
    Sheets(1).Columns(x).ClearContents
Next x

但是我希望能够清除以A6行为参考点的所有行和列的内容。我不能使用范围,因为数据是动态的,并且在插入数据时会发生变化。数据来自csv

2 个答案:

答案 0 :(得分:1)

因为您的问题是“我希望能够清除从A6行开始的所有行和列的内容作为参考点”。然后是一个使用SpecialCells(xlLastCell)

的衬纸
ActiveSheet.Range("A6", ActiveCell.SpecialCells(xlLastCell)).Clear

答案 1 :(得分:0)

如果您的范围从A6开始并连续,Row 6中没有空格,Column A中没有空格,则可以这样设置范围:

'Create variables
Dim wb as Workbook
Dim ws as Worksheet
Dim rng as Range

'Initialize variables
set wb = ActiveWorkbook
set ws = ActiveSheet
lastrow = ws.Range("A6").End(xlDown).Row
lastcol = ws.Range("A6").End(xlToRight).Column

'Set the range
set rng = ws.Range(Cells(6,1),Cells(lastrow,lastcol))

'Clear contents
rng.ClearContents

这使用Range.End对象的Range属性。基本上就像单击A6并按键盘上的ctrl+right然后返回范围一样。

注意:如果范围内有差距,您将无法获得正确的结果。