VBA确定工作簿索引并切换到一个'Other'工作簿



我有一个在一个工作簿上运行的代码,并且首先引用另一个打开的工作簿,该工作簿可以有任何名称,出于这个原因,我想通过使用索引号切换到另一个打开的工作簿。

用户可以先打开

包含代码的工作簿或先打开另一个工作簿,因此我希望能够说活动工作表的 IF 索引为 1,然后是 Workbooks(2)。激活,但如果活动工作表的索引为 2,则工作簿(1)。激活,谢谢。

我有这个代码来确保只有 2 本书已经打开;

   If Workbooks.Count > 2 Then
        MsgBox "Have ONLY the new data file and this open before running :)"
        Exit Sub
End If

若要在工作簿集合中的两个打开的工作簿之间来回切换,请使用一些数学运算来比较 ActiveWorkbook 属性和 ThisWorkbook 属性。

Workbooks(IIf(CBool(Workbooks(1).Name = ThisWorkbook.Name), _
              1 - CBool(ActiveWorkbook.Name = ThisWorkbook.Name), _
              2 + CBool(ActiveWorkbook.Name = ThisWorkbook.Name))).Activate

这可能伴随着检查,以确保队列中只有两个工作簿(如原始示例所示)。

相关内容