全てのシートの名前を配列で取得するマクロ

開いているExcelブックのすべてのシートの名前を配列で取得するマクロです。
これ自体は意味がないですが、他のマクロに組み込んで使えると思います。
Excel2013で確認しました。

Function get_sheetnames()
    'シートの名前を配列で返す。添え字は1から。
    ReDim sheetnames(Sheets.Count)
    For i = 1 To Sheets.Count
        sheetnames(i) = Sheets(i).Name
    Next i
    get_sheetnames = sheetnames
End Function

使用例は次のとおりです。

Sub sample()
    sheetnames = get_sheetnames()
    num = UBound(sheetnames) 'シートの枚数
    For i = 1 To UBound(sheetnames)
        sn = sheetnames(i) 'シートの名前
    Next i
End Sub

コメント

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