VBATips

Workbooks.Openと同時に変数wsに格納する【ExcelVBA】【シンプル】

ワークブックを開くのと変数代入をシンプルにしたい

初心者の時代に目から鱗だったことです。
ワークブックを開くのと同時にワークシート変数へ代入するのを簡単に行えないかなと調べたら、
簡単にできました。

ワークブックを開くのと変数代入を一度に行うサンプルコードシート

そもそも関数の戻り値を理解したのも、これがきっかけだったと思います。
あくまでも処理を簡単にする=関数としか理解をしていませんでした。

    Dim ws As Worksheet
    
    '■下記のような二行になったコードを
    Workbooks.Open ("C:\user\sample.xlsx")
    Set ws = ActiveWorkbook.Worksheets(1)
    
    '■コンパクトに1行にまとめてしまう事が可能です。
    Set ws = Workbooks.Open("C:\user\sample.xlsx").Worksheets(1)
    
    ■理由
    'Workbooks.Openの戻り値はWorkbookオブジェクトであるため、WorkbookオブジェクトのプロパティのWorkSheeetsを取得します。
    'そのまま Set wsとすることで変数に代入してしまいます。

初心者だからこそ丁寧に書くという事は大事なのですが、
丁寧すぎるのは後で見づらいケースがあります。

誰が読んでもわかるように、コードを「シンプルに書く」という事を常に心がけたいなと思います。

関連記事

コメント

タイトルとURLをコピーしました