我有来自A1:Z50的数据,但我想使用VBA仅删除A5:X50
(我认为它比拖动整个单元格或使用clickA5+shift+clickX50+delete
)快得多。
我怎么能这样做?
然后,如何锁定单元格以防止其被修复或清除?
答案 0 :(得分:15)
您可以定义一个包含以下代码的宏:
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”以显示“转到”对话框,然后单击“特殊”按钮并选择“常量”选项并单击“好'。
答案 1 :(得分:5)
试试这个
Sheets("your sheetname").range("A5:X50").Value = ""
您也可以使用
ActiveSheet.range
答案 2 :(得分:2)
不确定VBA的速度更快 - 在普通Excel程序中执行此操作的最快方法是:
Ctrl-G
A1:X50 Enter
Delete
除非你经常这样做,否则输入然后触发VBA代码会更加努力。
如果您只想删除公式或值,可以插入Ctrl-G, Alt-S
以选择转到特殊值,然后选择公式或值。