目次シート作成 

目次シート作成

先頭に1シート追加し、全シートを対象に目次を作成する。
リンクの付与は別の関数に分けているので、下にある関連記事からアクセスされたし。
組み合わせて上図に使うとよし。
エビデンスの作成時や、調査ごとの際に利用されることを想定している。

'先頭に目次のシートを作成する
Sub createSheetList()
    Dim ws As Worksheet
    
    '関数は別途参照
    If Not isExistCheckToSheet(ThisWorkbook, "目次") Then
        Worksheets.Add before:=Sheets(1)
        Set ws = Sheets(1)
        ws.Name = "目次"
        ws.Cells(1, 1) = "No."
        ws.Cells(1, 2) = "シート名"
        ws.Cells(1, 3) = "シートの説明"
        ws.Cells(1, 4) = "シェイプの数"
        ws.Cells(1, 5) = "使用範囲"
        ws.Cells(1, 6) = "備考"
        ws.Cells(1, 7) = "作成者"
        ws.Cells(1, 8) = "作成日"
        'フォント色
        Range("A1:H1").Font.Color = RGB(20, 10, 10)
        '背景色
        Range("A1:H1").Interior.Color = RGB(255, 242, 204)
        '太字
        Range("A1:H1").Font.Bold = True
        Cells(2, 1).Select
        'ウィンドウ枠の固定
        ActiveWindow.FreezePanes = True
        '目盛線非表示
        ActiveWindow.DisplayGridlines = False
    Else
        Set ws = Sheets(1)
    End If
    
    Dim loopWs As Worksheet
    
    For i = 2 To Worksheets.count
        Set loopWs = Worksheets(i)
        ws.Cells(i, 1) = i - 1
        ws.Cells(i, 2) = loopWs.Name
        ws.Cells(i, 4) = loopWs.Shapes.count
        ws.Cells(i, 5) = loopWs.UsedRange.Address
    Next
    ws.Columns("A:H").AutoFit
End Sub
関連記事:ブック内シート存在チェック

関連記事:シート一括生成

関連記事:シェイプ間コネクタ接続・色調べ



コメント