2013-04-16 73 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? –

相关问题