VBA确定工作簿索引并切换到“其他”工作簿

我有在一个工作簿上运行的代码,并引用另一个打开的工作簿,它可以有任何名称,我想通过使用索引号为此切换到另一个打开的工作簿开始。

用户可以首先打开包含代码的工作簿或其他工作簿,所以我想能够说如IF索引的活动工作表是1,然后Workbooks(2).Activate,但如果活动工作表的索引是2,然后Workbooks(1)。激活,谢谢。

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

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

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

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

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