2017-10-22 17 views
0

この文が機能しない理由を理解できません。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 

表は文字列型であり、それは問題ではありませんので、シートは文字列型の正しいシート名である基本的な何かを見下ろしますよ。

+0

'SELECT' ...ここに何度も繰り返された....' RNG =ワークシート(シート名).ListObjects(テーブル)を使用していない.Range.Address' – jsotola

+0

テーブル名を知る必要はありません。これは 'Rng = ThisWorkbook.Sheets(sheetName).Range(" A2 ")。ListObject.Range.Address' – jsotola

答えて

0

あなたの構文はちょっと見えますが、にRngと宣言しようとすると文字列として渡すべきです。

Public Sub CommandButton1_Click() 

    Dim sheetX As String 
    sheetX = ActiveSheet.Name 
    Call export_json("sheetX") 

End Sub 

Private Function export_json(sheetName As String) 

    table = ThisWorkbook.get_table(Worksheets(sheetName).Range("A2")) 
    Worksheets(sheetName).ListObjects(table).Range.Select 

End Function 
+0

これはうまくいきませんでした。私はパラメータとして文字列 " – Calculus

+0

を追加しようとしましたが、私の変更を試してみてはどうですか? – Maldred

+0

select/selectを使用してdownvote – jsotola

0

Selectを使用する必要はありません。以下のコードを試してください。

また、通常のモジュールではなくのコードをThisWorkbookモジュールに保存する理由はわかりません。

Public Sub CommandButton1_Click() 

    Dim TableRangeString As String 

    TableRangeString = ThisWorkbook.export_json(ActiveSheet.Name) 

    ' for debug 
    MsgBox TableRangeString 

End Sub 

Public Function export_json(sheetName) As String 
    ' use the function to return the Range.Address by changing it to return a String 

    Dim Rng As Range 

    Set Rng = Worksheets(sheetName).Range("A2").ListObject.Range 
    export_json = Rng.Address 

End Function 
関連する問題