2013-04-16 101 views
1

我有vba宏刪除單元格的選擇。它在刪除它們後自動移動單元格。我不想讓單元格向上移動,因爲我在單元格下面有一個圖表,如果它們移動,所有內容都會受到干擾。刪除單元而不移動它們

這裏是我使用刪除單元格

ActiveSheet.UsedRange.Select 
ActiveSheet.Range("C2:H8").Select 
Selection.Delete 

讓我知道我可以刪除它們沒有上移的代碼。

+0

當單元格被刪除時,從下面或從左邊的單元格取代它們。關於你的圖表,他們怎麼會感到不安? –

回答

2

如果我理解正確,我認爲使用ClearContents而不是Delete應該提供您正在尋找的功能。

http://msdn.microsoft.com/en-us/library/office/aa223828%28v=office.11%29.aspx

或者,您可以指定要如何細胞轉移,如果這是更適合你正在嘗試做的事:

來源:http://msdn.microsoft.com/en-us/library/office/aa223863%28v=office.11%29.aspx

表達。刪除(Shift)

expression必需。一個返回Range對象的表達式。

Shift可選變體。僅用於Range對象。指定如何移動單元格以替換已刪除的單元格。可以是以下XlDeleteShiftDirection常量之一:xlShiftToLeft或xlShiftUp。如果省略此參數,Microsoft Excel將根據範圍的形狀進行決定。

1

你認爲只是ClearContents?

ActiveSheet.Range("C2:H8").ClearContents 

如果你有合併單元格問題,請嘗試:

ActiveSheet.Range("C2:H8").Value = "" 
+0

我嘗試了clearcontents,但得到一個錯誤「無法更改合併單元格」,因爲我確實有幾個合併的單元格。 – Jill448

+0

嘗試將設置值設置爲「」而不是clearcontents。 –

2

你可以使用

ActiveSheet.Range("C2:H8").ClearContents 

那將空不轉移任何內容。

+0

@Dick:我嘗試了clearcontents,但得到一個錯誤「無法更改合併單元格」,因爲我確實有幾個合併的單元格。 – Jill448

+0

哦,我不喜歡合併的單元格。嘗試'ActiveSheet.Range(「C1:H8」)。MergeArea.ClearContents' –

+0

我剛剛嘗試過混合選擇普通和合並的單元格,並且它工作得很好。你使用的是什麼版本的Excel? –

相關問題