Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

VBAでSQLを使用する際にListObjects(テーブル)をFrom句に指定する方法 その2

以前にSQLのFrom句にテーブル名を指定する方法を紹介した。

www.excellovers.com

上記とは別の方法をtwitterでフォローさせて頂いている方が以前に紹介されていたのを見かけたので備忘録として記事にさせて頂く。

コード

select * from [Range("個人情報").listobject.range.address(false,false)]


以前に紹介したコード
select * from [worksheets("Sheet1").listobjects("個人情報").range.address(false,false)]


以前の方法ではワークシートの指定があるため、シート名の変更があるとエラーになる弱さがあります。

と言う風に書いていたら、こんな風に書けば以前の書き方でもシート名変更にて耐えられると気づきました。

閃いたコード
select * from [ワークシートオブジェクト名.listobjects("個人情報").range.address(false,false)]

事前にワークシートオブジェクト名の設定が必要ですが、シート名を変更されてもオブジェクト名は変更されないのでエラーになりません。


ワークシートオブジェクト名はここで編集が可能です。 f:id:ExcelLover:20200923234531j:plain