2013-01-18 43 views
6

我有類似於A1:Z50的數據,但我只想使用VBA刪除A5:X50 (我認爲它會比拖動整個單元格或使用clickA5+shift+clickX50+delete)。 我該怎麼做?VBA清除特定範圍的單元格和受保護的單元格以免被沖走公式

然後,如何鎖定單元格以防止它被固定或清除?

+3

你的問題還不清楚。請指明你的意思是「我如何防止清除公式」 – brettdj

+0

是的,我會加起來 起初我只想刪除,但現在我看到我的公式已經消失:D – eathapeking

回答

12

您可以定義包含以下代碼宏:

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認爲是「常量」的內容。

您可以通過選擇單元格範圍,點擊'f5'來調出'Go To'對話框,然後點擊'Special'按鈕並選擇'Constants'選項並點擊'好'。

+0

是否也要清除公式對不對:D 如何防止清除公式:3或不是方式 – eathapeking

+5

@Glenn你不必選擇清除它:)'Sheets(1).Range(「A5:X50」)。ClearContents'會。 – bonCodigo

+0

非常感謝您爲每個人提供幫助 – eathapeking

3

試試這個

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

您還可以使用

ActiveSheet.range 
+0

只是改變它空格 和 activesheet.range它是什麼意思:D – eathapeking

+0

您也可以使用 ActiveSheet.range(「A5:X50」)。Value =「」 你想要什麼?刪除或清空它? – Niklas

+0

我現在瞭解它:3謝謝 它是要衝走細胞的顏色和背景,公式是細胞 – eathapeking

2

不知道它的速度與VBA - 做正常的Excel PROGRAMM最快的方法是:

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

除非你有經常這樣做,進入然後觸發VBAcode更加費力。

如果您只想刪除公式或值,可以插入Ctrl-G, Alt-S選擇轉到特殊選項,然後選擇公式或值。

相關問題