ワークブックを開くのと変数代入をシンプルにしたい
初心者の時代に目から鱗だったことです。
ワークブックを開くのと同時にワークシート変数へ代入するのを簡単に行えないかなと調べたら、
簡単にできました。
ワークブックを開くのと変数代入を一度に行うサンプルコードシート
そもそも関数の戻り値を理解したのも、これがきっかけだったと思います。
あくまでも処理を簡単にする=関数としか理解をしていませんでした。
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とすることで変数に代入してしまいます。
初心者だからこそ丁寧に書くという事は大事なのですが、
丁寧すぎるのは後で見づらいケースがあります。
誰が読んでもわかるように、コードを「シンプルに書く」という事を常に心がけたいなと思います。



コメント