6

我有来自 A1:Z50 之类的数据,但我只想使用 VBA 删除 A5:X50(我认为这比拖动整个单元格或使用 快很多clickA5+shift+clickX50+delete)。我怎样才能做到这一点 ?

然后,如何锁定单元格以防止其被修复或清除?

4

3 回答 3

18

您可以定义一个包含以下代码的宏:

Sub DeleteA5X50()   
    Range("A5:X50").Select
    Selection.ClearContents
end sub

运行宏将选择活动工作表上的范围 A5:x50 并清除该范围内单元格的所有内容。

要使您的公式保持不变,请改用以下内容:

Sub DeleteA5X50()   
    Range("A5:X50").Select
    Selection.SpecialCells(xlCellTypeConstants, 23).Select
    Selection.ClearContents
end sub

这将首先选择您有兴趣从中清除内容的整个单元格范围,然后进一步将选择范围限制为仅包括包含 excel 认为是“常量”的单元格。

您可以在 Excel 中手动执行此操作,方法是选择单元格范围,点击“f5”以弹出“转到”对话框,然后单击“特殊”按钮并选择“常量”选项并单击“确定”。

于 2013-01-18T08:27:35.027 回答
5

试试这个

Sheets("your sheetname").range("A5:X50").Value = ""

你也可以使用

ActiveSheet.range
于 2013-01-18T08:24:17.803 回答
2

不确定使用 VBA 是否更快 - 在普通 Excel 程序中最快的方法是:

  1. Ctrl-G
  2. A1:X50 Enter
  3. Delete

除非您必须经常这样做,否则输入然后触发 VBA 代码会更费力。

如果您只想删除公式或值,您可以插入Ctrl-G, Alt-S以选择 Goto Special 并在此处选择公式或值。

于 2013-01-18T09:36:02.147 回答