この文が機能しない理由を理解できません。Excel VBAテーブルの範囲を非アクティブなワークシートで取得
Rng = Worksheets(sheetName).ListObjects(table).Range.Select
グローバルワークスペース "Thisworkbook"のサブプロセス "export_json"を呼び出すボタンが付いた "sheetX"シートがあります。私は "thisworkbook"のサブプロセスが "A2"で "sheetX"のテーブル範囲を参照してもらいたいが、 "Application-defined or Object-defined error"というエラーが出る。私はApplication.Gotoを使いたくない
なぜですか?私は
Public Sub CommandButton1_Click()
sheet = ActiveSheet.Name
Call ThisWorkbook.export_json(sheet)
End Sub
Public Sub export_json(sheetName)
table = ThisWorkbook.get_table(Worksheets(sheetName).Range("A2"))
Rng = Worksheets(sheetName).ListObjects(table).Range.Select
Rng = Selection.Address
表は文字列型であり、それは問題ではありませんので、シートは文字列型の正しいシート名である基本的な何かを見下ろしますよ。
'SELECT' ...ここに何度も繰り返された....' RNG =ワークシート(シート名).ListObjects(テーブル)を使用していない.Range.Address' – jsotola
テーブル名を知る必要はありません。これは 'Rng = ThisWorkbook.Sheets(sheetName).Range(" A2 ")。ListObject.Range.Address' – jsotola