如何引用打开的不活动的工作簿?
我想从活动工作簿中的代码引用到另一个工作簿,我不想键入类似于工作簿的path(“path”),这个引用应该是灵活的,有没有像已经打开的工作簿数组?
您可以将一个打开的工作簿分配给一个variables,而不提供完整的path。 然后,您可以使用set objectvariables来执行您所希望的任何操作。
Sub set_wb() Dim wb As Workbook Set wb = Workbooks("test_wb.xlsb") wb.Activate End Sub
您也可以遍历每个打开的工作簿
Sub wb_names() Dim wb As Workbook For Each wb In Workbooks Debug.Print wb.Name Next wb End Sub
同样,可以使用for
使用它们的索引遍历每个工作簿(索引取决于打开哪些工作簿的顺序)。
Sub wb_index() Dim i As Byte For i = 1 To Workbooks.Count Debug.Print Workbooks(i).Name Next i End Sub
希望这可以帮助。
看到这个答案 。
要引用已经打开的工作簿,可以使用
Workbooks("book_name.xlsx")
您也可以遍历集合
Dim i As Integer For i = 1 To Workbooks.Count MsgBox Workbooks(i).Name Next i