尝试返回Range;运行时错误91

时间:2020-07-29 15:29:49

标签: excel vba range

我编写了一个仅应返回范围的函数。但是我收到运行时错误91(对象变量或未设置块)。自调试器说起,我不明白为什么要同时设置该值和Nothing。

此代码背后的想法如下: 我有一个用户表单,用户可以选择最多6列,列A始终包含在内,因此不是可选的。我想返回该选择的范围。

screenshot, debugger values at bottom right

Private Function calcGraphRange() As range
    Dim rng0, rng1, rng2, rng3, rng4, rng5, rng6 As range

    Debug.Assert (Me.CheckBox1.Value = True)

    Set rng0 = range("A:A") 
    Set rng1 = range("B:B") 
    Set rng2 = range("C:C") 
    Set rng3 = range("D:D") 
    Set rng4 = range("E:E") 
    Set rng5 = range("F:F") 
    Set rng6 = range("G:G") 


    Set calcGraphRange = Application.Union(rng0, _
    IIf(Me.CheckBox1.Value = True, rng1, rng0), _
    IIf(Me.CheckBox2.Value = True, rng2, rng0), _
    IIf(Me.CheckBox3.Value = True, rng3, rng0), _
    IIf(Me.CheckBox4.Value = True, rng4, rng0), _
    IIf(Me.CheckBox5.Value = True, rng5, rng0), _
    IIf(Me.CheckBox6.Value = True, rng6, rng0))
End Function

这是我到目前为止所做的:

我将不胜感激任何帮助或提示。祝你有美好的一天。

0 个答案:

没有答案