(Excel No22)「オブジェクトの繰り返しは簡単(4)」

前々回(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 が使用できます。

どちらが正解という事でないのですが、どちらかというと、今回の方がスマートな様な気がしませんか?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください