📊 Excel VBA Top100
📋

ListAllSheets

シート管理

すべてのシート名を一覧表示する

🎬 デモGIF準備中

📖 使い方

  1. VBAエディタを開く(Alt + F11)
  2. モジュールを挿入(挿入 > モジュール)
  3. 下記VBAコードをコピー&ペースト
  4. ブック上で実行(Alt + F8 でマクロ選択)
💡 実行例: 実行するとシート一覧がメッセージボックスとアクティブシートへの出力で表示される

💻 VBAコード

' ListAllSheets
' -----------------
' Macro Name: ListAllSheets
' Description: すべてのシート名を一覧表示する
' Parameters: なし
' Returns: なし
' Usage: 実行するとシート一覧がメッセージボックスとアクティブシートへの出力で表示される
' -----------------

Sub ListAllSheets()
    Dim ws As Worksheet
    Dim outputWs As Worksheet
    Dim sheetList As String
    Dim i As Long
    Dim outputRow As Long
    Dim lastRow As Long
    Dim outputRange As Range

    On Error GoTo ErrorHandler

    sheetList = "シート一覧:" & vbCrLf & vbCrLf

    For Each ws In Worksheets
        sheetList = sheetList & "  " & ws.Index & ": " & ws.Name & vbCrLf
    Next ws

    sheetList = sheetList & vbCrLf & "合計: " & Worksheets.Count & "枚"

    MsgBox sheetList, vbInformation, "シート一覧"

    Set outputWs = ActiveSheet
    lastRow = outputWs.Cells(outputWs.Rows.Count, 1).End(xlUp).Row

    If lastRow < 1 Then lastRow = 1

    outputRow = lastRow + 2
    outputWs.Cells(outputRow, 1).Value = "シート一覧"
    outputWs.Cells(outputRow, 1).Font.Bold = True
    outputWs.Cells(outputRow, 1).Font.Size = 14
    outputRow = outputRow + 1

    outputWs.Cells(outputRow, 1).Value = "番号"
    outputWs.Cells(outputRow, 2).Value = "シート名"
    outputWs.Cells(outputRow, 1).Font.Bold = True
    outputWs.Cells(outputRow, 2).Font.Bold = True
    outputWs.Range(outputWs.Cells(outputRow, 1), outputWs.Cells(outputRow, 2)).Interior.Color = RGB(200, 200, 200)

    outputRow = outputRow + 1

    For i = 1 To Worksheets.Count
        outputWs.Cells(outputRow, 1).Value = i
        outputWs.Cells(outputRow, 2).Value = Worksheets(i).Name
        outputRow = outputRow + 1
    Next i

    outputWs.Columns("A:B").AutoFit
    Exit Sub

ErrorHandler:
    MsgBox "エラーが発生しました: " & Err.Description, vbCritical
End Sub