Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 删除VBA中除一列以外的所有数据_Excel_Vba - Fatal编程技术网

Excel 删除VBA中除一列以外的所有数据

Excel 删除VBA中除一列以外的所有数据,excel,vba,Excel,Vba,对不起,这个基本问题 我试图从工作表中删除数据,但实际上我想保留a列中的所有数据。我已经找到了如何在保留标题的同时清除所有行,但找不到将数据保存在a列中的方法 有人知道怎么做吗 With Worksheets("Data") .Rows("2:" & .UsedRange.Count).Delete End With .UsedRange.Count将返回所用范围内所有单元格的计数,而不仅仅是行的计数 如果我理解正确,您希望删除从B2到使用范围结束的所有内容。

对不起,这个基本问题

我试图从工作表中删除数据,但实际上我想保留a列中的所有数据。我已经找到了如何在保留标题的同时清除所有行,但找不到将数据保存在a列中的方法

有人知道怎么做吗

    With Worksheets("Data")
     .Rows("2:" & .UsedRange.Count).Delete
    End With

.UsedRange.Count
将返回所用范围内所有单元格的计数,而不仅仅是行的计数

如果我理解正确,您希望删除从B2到使用范围结束的所有内容。您可以这样做:

With Worksheets("Data")
    .Range("B2", Cells(.UsedRange.Rows.Count, .UsedRange.Columns.Count)).ClearContents
End With

.UsedRange.Count
将返回所用范围内所有单元格的计数,而不仅仅是行的计数

如果我理解正确,您希望删除从B2到使用范围结束的所有内容。您可以这样做:

With Worksheets("Data")
    .Range("B2", Cells(.UsedRange.Rows.Count, .UsedRange.Columns.Count)).ClearContents
End With

另一种实现方法如下所示

Sub test()
    lastrow = Cells.SpecialCells(xlCellTypeLastCell).Row
    lastcolumn = Cells.SpecialCells(xlCellTypeLastCell).Column
    Range("B2", Cells(lastrow, lastcolumn)).Delete
End Sub

另一种实现方法如下所示

Sub test()
    lastrow = Cells.SpecialCells(xlCellTypeLastCell).Row
    lastcolumn = Cells.SpecialCells(xlCellTypeLastCell).Column
    Range("B2", Cells(lastrow, lastcolumn)).Delete
End Sub

这对OP非常有效,但在UsedRange没有在A1中启动的情况下就不起作用了。@D_Bester,我的回答是关于这个问题的,特别是为了展示如何使用
。UsedRange
,不适用于任何可以想象的场景。这对OP非常有效,但在UsedRange不是从A1开始的不太可能的情况下不起作用。@D_Bester,我的回答是针对这个问题的,特别是为了展示如何使用
。UsedRange
,而不是针对任何可以想象的场景。