使用另一个工作簿中的代码从一个工作簿中删除数据范围

时间:2015-06-03 19:32:53

标签: excel-vba vba excel

我正忙着从一个工作簿中获取代码(" W1")打开另一个工作簿(" W2")并在W2中执行删除操作。当我运行它时,它选择W2中的范围但不会删除选择。我想我必须明确命名W2的删除,但我迷失了它。任何帮助都将非常感激。

我的代码如下:

static void Foo()
{
    int bar = 0;
}

1 个答案:

答案 0 :(得分:0)

如果Select有效,则只需将其替换为ClearContents,然后删除尝试ActivateClear的2行。我怀疑问题是Activate,而O21正在被清除,而其他人则没有。您也可以删除Activate行,但我正在尝试清理不需要的Select个实例。

With xlApp.ActiveWorkbook.ActiveSheet
    .Range("E36,E5,E7,E10,E13,E17,E39,J7:J11,J13:J20,J24:J29,J31:J33,J35,O21").ClearContents
End With

而不是

With xlApp.ActiveWorkbook.ActiveSheet
    .Range("E36,E5,E7,E10,E13,E17,E39,J7:J11,J13:J20,J24:J29,J31:J33,J35,O21").Select
    .Range("O21").Activate
    xlApp.ActiveWorkbook.ActiveSheet.Selection.ClearContents
End With

你也可以压缩With并在一行上完成所有操作,但这对于这里来说太宽了所以我没有这样做。

您还应该查看this post about not using Select.