use*_*094 8 vba module reference function
如何返回工作表对象参考?我一直在浏览各种谷歌搜索结果.
例如,我有一个像这样的功能代码.wSheet已经暗淡了:
Public wSheet As Worksheet
...
Set wSheet = ActiveWorkbook.Worksheets("ExampleSheet")
wSheet.Range("A1").Value = "Hello"
Run Code Online (Sandbox Code Playgroud)
但是,我希望wSheet现在调用一个模块来提供正确的引用.像这样的东西:
Public wSheet As Worksheet
...
Set wSheet = myModule.get_ExampleSheet
wSheet.Range("A1").Value = "Hello"
Run Code Online (Sandbox Code Playgroud)
然后在模块myModule中有一个函数
Function get_ExampleSheet() As Worksheets
get_ExampleSheet = ActiveWorkbook.Worksheets("ExampleSheet")
End Function
Run Code Online (Sandbox Code Playgroud)
我尝试的一切都给了我各种运行时错误.反正有没有让这个工作?
谢谢,提前!
end*_*and 15
您正在函数中返回错误类型的对象.
Function get_ExampleSheet() As Worksheets
get_ExampleSheet = ActiveWorkbook.Worksheets("ExampleSheet")
End Function
Run Code Online (Sandbox Code Playgroud)
这目前有几个错误.
Function get_ExampleSheet() As Worksheet
Set get_ExampleSheet = ActiveWorkbook.Sheets("Sheet1")
End Function
Run Code Online (Sandbox Code Playgroud)
注意我改变了:
Worksheet(您尝试设置变量,wSheet,类型Worksheet为Worksheets类型变量)set关键字.Worksheets以.Sheets返回您感兴趣的特定工作表