我有来自 A1:Z50 之类的数据,但我只想使用 VBA 删除 A5:X50(我认为这比拖动整个单元格或使用 快很多clickA5+shift+clickX50+delete
)。我怎样才能做到这一点 ?
然后,如何锁定单元格以防止其被修复或清除?
您可以定义一个包含以下代码的宏:
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”以弹出“转到”对话框,然后单击“特殊”按钮并选择“常量”选项并单击“确定”。
试试这个
Sheets("your sheetname").range("A5:X50").Value = ""
你也可以使用
ActiveSheet.range
不确定使用 VBA 是否更快 - 在普通 Excel 程序中最快的方法是:
Ctrl-G
A1:X50 Enter
Delete
除非您必须经常这样做,否则输入然后触发 VBA 代码会更费力。
如果您只想删除公式或值,您可以插入Ctrl-G, Alt-S
以选择 Goto Special 并在此处选择公式或值。