VBA中的可变循环范围

我有一些VBA代码,我想根据布尔值在不同的范围内循环。我希望它看起来像这样:

Sub Loop()

ActiveSheet.Select

Dim LoopScope as Collection

If Boolean = True then
     LoopScope = ActiveSheet.ChartObjects
Else
     LoopScope = Selection
End if

For Each ChartObject In LoopScope
     *Some code*
Next ChartObject

End Sub

该错误消息告诉我,我只能遍历集合对象,这很有意义,但是我不知道如何将LoopScope调暗为集合对象(?)。键入时,循环均适用:

For Each ChartObject in Selection

和:

For Each ChartObject in ActiveSheet.ChartObjects

我只是不知道如何使范围取决于我的布尔值。预先感谢您的宝贵时间。

评论