2015-08-13 215 views
0

我正在做什么看起来像一个简单的动态范围。然而,即时得到以下错误:Excel VBA - 动态范围obj参考

“错误:范围类的Set方法失败” VBA犯规像dropdownRange OBJ &罚球上的下面的代码的第二最后一行中的上述错误。我正在使用此范围用于列表下方的验证下拉列表。

Dim mainTab As Object 'Tab 'main' 
Dim tranTypeSize As Integer 'Length of entries for transaction type 
Dim dropdownRange As Range 'Dynamic range for dropdown 
Set mainTab = Sheets("Main") 

With Sheets("Misc") 
    tranTypeSize = .Cells(Rows.Count, 1).End(xlUp).Row 
    Set dropdownRange = .Range("A1:A" & tranTypeSize) 
    dropdownRange.Select 
End With 
+0

tranTypeSize返回什么值 – Sorceri

+0

@Sorceri tranTypeSize在一个整数和输出= 4 – Kayote

+1

我刚刚测试了这个(excel 2010),它工作正常,将数据添加到列A中名为Misc的表中。我唯一能看到的那会导致问题是tranTypeSize。 – Sorceri

回答

1

我假设你的意思是选择范围类的方法失败。如果是这样,问题是Sheet("Misc")未处于活动状态。

要修复它,请将.Select作为With块的第一行。

+0

你可能是对的,你可以考虑一下。谢谢 – Kayote