如何只选择具有不同工作表上的值的单元格而不切换到该工作表?

时间:2016-11-18 20:59:38

标签: vba

我目前有一个宏,可以根据特定条件将数据从一个工作表复制并粘贴到另一个工作表。我有超过15张它可以做到这一点。

现在我要做的是选择新工作表中的所有数据,然后将其转换为表格。

我知道我可以使用ActiveSheet,但我需要为每张工作表执行此操作。有没有办法只选择其他工作表中的数据,而不是我的活动工作表?

我可以使用以下选项在活动工作表中选择所有数据:

ActiveSheet.Range("B1:M1", ActiveSheet.Range("B1:M1").End(xlDown)).Select  

我尝试过类似下面的操作,但只选择包含数据的最后一个单元格。如果我删除了.End(xlDown),那么它将选择B1:M1。

  Application.Goto Sheets("SheetName").Range("B1:M1").End(xlDown)

是否有办法在没有切换标签的情况下复制这些范围内的数据?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以避免选择/选择/激活/ ActiveXXX,如下所示:

With Sheets("SheetName")
    .Range("B1:M1", .Range("B1:M1").End(xlDown)).Copy Destination:= someotherrange
End With  

whereotherrange是一个有效的范围引用,将复制的数据粘贴到