是否可以在"with"块内调用函数?我一直收到错误"无效或无条件参考".我如何在"with"语句中引用父对象?谢谢!
Sub Test()
Set wb = Workbooks.Open(“C:\Book1.xls", True, True)
With wb.Worksheets("Sheet1")
lRow = LastRow()
msgbox(lRow)
End With
With wb.Worksheets("Sheet2")
lRow = LastRow()
msgbox(lRow)
End With
wb.Close False
End Sub
Function LastRow()
LastRow =.Cells.Find(What:="*", _
After:=Range("A1"), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
End Function
Run Code Online (Sandbox Code Playgroud) 我正在使用VBA for Excel.根据我的理解,全局变量需要在任何潜艇之外声明.这是所有潜艇都可以访问的唯一方式.
与此同时,我想进行后期绑定以引用"Microsoft Scripting Runtime"库(为了使用字典对象类型),以便最终用户不必自己完成.
我的代码如下:
On Error Resume Next
strGUID = "{420B2830-E718-11CF-893D-00A0C9054228}"
ThisWorkbook.VBProject.References.AddFromGuid GUID:=strGUID, Major:=1, Minor:=0
Dim Dic1 As Object
Set Dic1 = CreateObject("Scripting.Dictionary")
Dim Dic2 As Object
Set Dic2 = CreateObject("Scripting.Dictionary")
Run Code Online (Sandbox Code Playgroud)
如果我想用后期绑定声明全局字典对象怎么办?看起来VBA不允许我在subs之外放置任何代码(声明除外).
如何在不需要最终用户自己配置库引用的情况下声明全局字典对象?我要不要以下?
Dim Dic1 As Object
Dim Dic2 As Object
Sub Prog1()
On Error Resume Next
strGUID = "{420B2830-E718-11CF-893D-00A0C9054228}"
ThisWorkbook.VBProject.References.AddFromGuid GUID:=strGUID, Major:=1, Minor:=0
Set Dic1 = CreateObject("Scripting.Dictionary")
Set Dic2 = CreateObject("Scripting.Dictionary")
End Sub
Run Code Online (Sandbox Code Playgroud)