Pri*_*kar 8 excel vba excel-vba
我正在使用VBA阅读一些excel单元格.
Function getData(currentWorksheet as Worksheet, dataStartRow as Integer, _
dataEndRow as Integer, DataStartCol as Integer, dataEndCol as Integer)
Dim dataTable as Range
dataTable = currentWorksheet.Range(currentWorksheet.Cells(dataStartRow, _
dataStartCol), currentWorksheet.Cells(dataEndRow, dataEndCol))
getData = dataTable
EndFunction
Run Code Online (Sandbox Code Playgroud)
它抛出错误,对象变量或未设置块变量.如何在变量中取这个范围?请指导我.
end*_*and 23
使用Range对象时,不能简单地使用以下语法:
Dim myRange as Range
myRange = Range("A1")
Run Code Online (Sandbox Code Playgroud)
您必须使用set关键字来分配Range对象:
Function getData(currentWorksheet As Worksheet, dataStartRow As Integer, dataEndRow As Integer, DataStartCol As Integer, dataEndCol As Integer)
Dim dataTable As Range
Set dataTable = currentWorksheet.Range(currentWorksheet.Cells(dataStartRow, DataStartCol), currentWorksheet.Cells(dataEndRow, dataEndCol))
Set getData = dataTable
End Function
Sub main()
Dim test As Range
Set test = getData(ActiveSheet, 1, 3, 2, 5)
test.select
End Sub
Run Code Online (Sandbox Code Playgroud)
请注意,每次声明范围时,我都会使用Set关键字.
您也可以允许getData函数返回一个Range对象而不是一个对象,Variant尽管这与您遇到的问题无关.
| 归档时间: |
|
| 查看次数: |
149080 次 |
| 最近记录: |