【发布时间】:2018-10-22 01:56:36
【问题描述】:
我正在努力将srcFile 变量从一个子传递到另一个。我想做以下事情:
1) 在 loadFile() sub 中从我的本地路径加载源文件
2) 将 srcFile 设置为我的源数据工作簿
3) 我想在我的主程序中调用 processWorkbook,以便它将获取我的 srcFile,将其传递给子程序并对该文件的每个工作表执行一些操作。
抱歉,如果我没有清楚地表达自己。
Sub Main()
Call loadFile
Call processWorkbook(srcFile)
End Sub
' _____________________________________________________
Sub loadFile()
Dim wrk As Worksheet
Dim trg As Worksheet
Dim Path As String
Dim srcFile As Workbook
Set wrk = Workbooks("Banks.xlsm").Sheets("Control")
Set trg = Workbooks("Banks.xlsm").Sheets("Output")
trg.Cells.ClearContents
Path = wrk.Cells(1, 2).Value 'file path
Set srcFile = Workbooks.Open(Path, ReadOnly:=False)
End Sub
' _____________________________________________________
Sub processWorkbook(wrk)
Dim sht As Worksheet
For Each sht In wrk.Sheets
Call anotherSub
Next sht
End Sub
【问题讨论】:
-
使用
Function而不是Sub,这允许你返回一个值,然后你可以使用这个值作为你的子的参数。