前々回(No.20)にて紹介したオブジェクトの一覧を取得する方法の補足です。
今回も予告通りですね。( 素晴らしい・・・ (^ ^;) )
作成したプロシージャ自身に変わりはありませんが、その呼び側に変更があります。
以下は、前々回のコードです。
Sub test() Dim shts Dim shtPos As Integer shts = getSheets() For shtPos = LBound(shts) To UBound(shts) Debug.Print shts(shtPos).Name Next shtPos End Sub以下に、今回のコードを示します。
Sub Newtest() Dim sht For Each sht In getSheets() Debug.Print sht.Name Next sht End Sub
前は動的配列を使用ということで、LBound, UBound 使用しましたが、配列の場合も前回のコレクションと同じように For Each In が使用できます。
どちらが正解という事でないのですが、どちらかというと、今回の方がスマートな様な気がしませんか?