関数からListObjectを返すが、暗黙的に文字列に変換するようだ。私は混乱しています。誰かが間違っていることを指摘できますか?ListObject Stringを返す
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