Excel VBA-打开工作簿并为其他宏记住它
我想创建一个宏,它将:Excel VBA-打开工作簿并为其他宏记住它,excel,vba,Excel,Vba,我想创建一个宏,它将: 打开浏览器窗口以选择保存的工作簿(我们称之为WB1) 在同一宏中,为WB1指定某种形式的引用,以允许其他宏引用它 我可以通过以下代码实现步骤1: Sub Add_New_Survey() Dim pathString As String Dim resultWorkbook As Workbook Dim found As Boolean pathString = Application.GetOpenFilename(fileFilter:="All Files (*
Sub Add_New_Survey()
Dim pathString As String
Dim resultWorkbook As Workbook
Dim found As Boolean
pathString = Application.GetOpenFilename(fileFilter:="All Files (* . xl*) , *.xl* ")
' check if it's already opened
For Each wb In Workbooks
If InStr(pathString, wb.Name) > 0 Then
Set resultWorkbook = wb
found = True
Exit For
End If
Next wb
If Not found Then
Set resultWorkbook = Workbooks.Open(pathString)
End If
End Sub
这将打开工作簿。然后,我需要在WB1上执行一些我想自动化的数据准备活动。当我从浏览器打开WB1时,有没有一种方法可以引用它,这样下面的宏就可以专门查看WB1了
非常感谢欢迎来到SO。您的对象
resultWorkbook
链接到工作簿。打开(路径字符串)
,因此只要您不将其与Set resultWorkbook=Nothing
解除链接,您就可以始终在任何子系统上引用该工作簿(但在模块中首先将变量声明为Public,在所有子系统之外)
要将变量声明为公共变量,请阅读:
欢迎来到SO。您的对象
resultWorkbook
链接到工作簿。打开(路径字符串)
,因此只要您不将其与Set resultWorkbook=Nothing
解除链接,您就可以始终在任何子系统上引用该工作簿(但在模块中首先将变量声明为Public,在所有子系统之外)@FoxfireAndBurnsAndBurns——这是答案,不是评论!(这也是一个正确的答案,值得投一两张赞成票和打勾。)谢谢@FreeMan!我会把它寄出去的!谢谢你的帮助没问题@Azuremars。如果出现任何其他疑问或问题,请发布新问题。此外,如果这个答案有帮助,请将其标记为正确。