我想从一个函数返回一个ListObject,但它似乎将其隐式转换为一个字符串。我很困惑。有人能指出我做错了什么吗?ListObject返回一个字符串
Sub TestMyFunction()
Dim MyTable As ListObject
Set MyTable = RangeToTable
Debug.Print MyTable '---MyTable = "Table1"
MyTable.Unlist
End Sub
Private Function RangeToTable() As ListObject
Dim wks As Worksheet
Set wks = ActiveWorkbook.Worksheets(sREPORT_DATA_1)
Dim rngTable As Range
Set rngTable = wks.Range("A1").CurrentRegion
Set RangeToTable = wks.ListObjects.Add(xlSrcRange, rngTable, , xlYes)
End Function
不确定你的意思。 'Address'属性将返回一个对应于该范围的字符串。 – SJR
@SJR对不起,我感到困惑。我稍微编辑了我的帖子。当我打印'MyTable'时,它将'Table1'打印为一个字符串。但我需要返回一个表格对象,而不是表格名称。我对VBA的认识正在进步,但我可能不会理解某些东西。 – Brian
它的确如此,因此您可以使用Unlist方法。你究竟在努力实现什么? – SJR