在没有.Activate的情况下选择隐藏工作表上的数据范围

时间:2017-01-24 23:10:33

标签: excel vba excel-vba

我通过隐藏的工作表("数据")填充组合框列表,其中存储了一些列表。

我目前选择的范围如下:

Dim arr() As Variant

Worksheets("Data").Activate

arr = Range("D2", Range("D2").End(xlDown).End(xlToRight))

cboBox.List = arr

然而,这显然会激活隐藏的表格"数据"。如何在不选择/显示隐藏的工作表的情况下选择相同的范围?

我尝试使用......

的变体
arr = Sheets("Data").Range("D2", Range("D2").End(xlDown).End(xlToRight))

...避免必须激活工作表,但这不起作用。

我认为与调用" D2"对于xlDown然后xlToRight,范围是两倍,但我无法确定正确的语法需要。

非常感谢。

编辑:YowE3K的建议有效:

arr = Sheets("Data").Range("D2", Sheets("Data").Range("D2").End(xlDown).End(xlToRight))

1 个答案:

答案 0 :(得分:2)

您可以将其缩短为

arr = Worksheets("Data").Range("D2").currentregion

或者这样做

with Worksheets("Data")
    arr = .Range("D2", .Range("D2").End(xlDown).End(xlToRight))
end with