我有vba宏删除单元格的选择。它在删除它们后自动移动单元格。我不想让单元格向上移动,因为我在单元格下面有一个图表,如果它们移动,所有内容都会受到干扰。删除单元而不移动它们
这里是我使用删除单元格
ActiveSheet.UsedRange.Select
ActiveSheet.Range("C2:H8").Select
Selection.Delete
让我知道我可以删除它们没有上移的代码。
我有vba宏删除单元格的选择。它在删除它们后自动移动单元格。我不想让单元格向上移动,因为我在单元格下面有一个图表,如果它们移动,所有内容都会受到干扰。删除单元而不移动它们
这里是我使用删除单元格
ActiveSheet.UsedRange.Select
ActiveSheet.Range("C2:H8").Select
Selection.Delete
让我知道我可以删除它们没有上移的代码。
如果我理解正确,我认为使用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将根据范围的形状进行决定。
你认为只是ClearContents?
ActiveSheet.Range("C2:H8").ClearContents
如果你有合并单元格问题,请尝试:
ActiveSheet.Range("C2:H8").Value = ""
我尝试了clearcontents,但得到一个错误“无法更改合并单元格”,因为我确实有几个合并的单元格。 – Jill448
尝试将设置值设置为“”而不是clearcontents。 –
你可以使用
ActiveSheet.Range("C2:H8").ClearContents
那将空不转移任何内容。
@Dick:我尝试了clearcontents,但得到一个错误“无法更改合并单元格”,因为我确实有几个合并的单元格。 – Jill448
哦,我不喜欢合并的单元格。尝试'ActiveSheet.Range(“C1:H8”)。MergeArea.ClearContents' –
我刚刚尝试过混合选择普通和合并的单元格,并且它工作得很好。你使用的是什么版本的Excel? –
当单元格被删除时,从下面或从左边的单元格取代它们。关于你的图表,他们怎么会感到不安? –