我想从活动工作簿中的代码引用到另一个工作簿, 我不想像工作簿那样输入路径(“路径”),这个引用应该是灵活的,是否有类似已经打开的工作簿的数组?
答案 0 :(得分:1)
您可以在不提供完整路径的情况下将打开的工作簿分配给变量。然后,您可以使用set object变量执行您希望的任何操作。
Sub set_wb()
Dim wb As Workbook
Set wb = Workbooks("test_wb.xlsb")
wb.Activate
End Sub
您还可以使用for each
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
希望这有帮助。
答案 1 :(得分:1)
请参阅this answer。
要引用已打开的工作簿,可以使用
Workbooks("book_name.xlsx")
您还可以遍历集合
Dim i As Integer
For i = 1 To Workbooks.Count
MsgBox Workbooks(i).Name
Next i