删除单元格而不移动它们

我有vbamacros删除select的单元格。 它删除后自动移动单元格。 我不想让单元格向上移动,因为我在单元格下面有一个图表,如果它们移动了,所有东西都会受到干扰。

这是我用来删除单元格的代码

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

让我知道如何删除它们,而不移动。

如果我理解正确,我认为使用ClearContents而不是删除应提供您正在寻找的function。

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

expression.Delete(SHIFT)

expression式必需。 一个返回一个Range对象的expression式。

Shift可选变体。 仅用于Range对象。 指定如何移动单元格以replace已删除的单元格。 可以是以下XlDeleteShiftDirection常量之一:xlShiftToLeft或xlShiftUp。 如果省略此参数,Microsoft Excel根据范围的形状决定。

你可以使用

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

这将清空内容,而不会移动任何东西。

你有没有考虑过ClearContents?

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

如果您在合并单元格时遇到问题,请尝试:

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