在VBA中创建一个跨越工作表的范围?

时间:2017-12-13 16:04:46

标签: excel excel-vba vba

我正在尝试制作一个跨越多张纸的Range,一个三维参考,因为他们称之为。 Here is MS's example如何手动完成。好吧,我需要在代码中做到这一点(不,我不能使用表格公式)。所以我做了......

Set m1 = Sheets("Sheet1").Cells(1, 1)
Set m2 = Sheets("Sheet2").Cells(3, 1)
Set m3 = Union(m1, m2)

但是,这会返回可怕的'1004'错误,就像我尝试的其他语法一样。然后我尝试通过移位选择多张纸并手动执行此操作...

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    MsgBox "range address: " & Target.Address
End Sub

并且始终仅返回ActiveSheet上选择的部分。

那么,有没有办法制作一个跨越床单的Range?

1 个答案:

答案 0 :(得分:3)

Range对象只能是单个工作表上的一组单元格。但是,您可以创建范围的数组或可以跨越多个工作表的集合范围。