1
我想設置變量以始終引用特定的工作簿;現在我按照下面列出的方式進行操作,但我不希望它每次都打開文檔。我應該有什麼呢?還請注意是否有任何變量需要改變或沿着這些線。將變量設置爲工作簿
Dim wbkC as workbook
Set WbkC = Workbooks.Open(Filename:="G:\Reporting\ReportCompare.xls")
我想設置變量以始終引用特定的工作簿;現在我按照下面列出的方式進行操作,但我不希望它每次都打開文檔。我應該有什麼呢?還請注意是否有任何變量需要改變或沿着這些線。將變量設置爲工作簿
Dim wbkC as workbook
Set WbkC = Workbooks.Open(Filename:="G:\Reporting\ReportCompare.xls")
如果不是,可以使用自定義函數打開它,或者如果是,則抓取打開的副本。
Public Sub Main()
Dim wbkC As Workbook
'This will open it
Set wbkC = GetWorkbookReference("G:\Reporting\ReportCompare.xls")
'This will not open it b/c it's already open
Set wbkC = GetWorkbookReference("G:\Reporting\ReportCompare.xls")
End Sub
Public Function GetWorkbookReference(ByVal sFullName As String) As Workbook
Dim wbReturn As Workbook
On Error Resume Next
'If it's open, get a reference to it
Set wbReturn = Workbooks(Dir$(sFullName))
On Error GoTo 0
'If it's not open, open it
If wbReturn Is Nothing Then
Set wbReturn = Workbooks.Open(sFullName)
End If
Set GetWorkbookReference = wbReturn
End Function
你在用什麼?你可以隱藏工作簿或只使用地址,如果託管一個公式? – glh 2013-05-13 11:46:40
使用'wbck.windows(1).visable = false' – glh 2013-05-13 11:57:47
@glh我基本上用它來簡化引用範圍。而不是輸入工作簿(名稱).worksheets(「sheet1」)。range(「A」)。value我寧願鍵入wbkA.worksheets(「sheet1」)。range(「A」)。value – 2013-05-13 12:06:59