KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

ブック内のすべてのワークシート名を一覧でどのように作成しますか?

著者テクニカルサポート変更日

複数のワークシートを含むブックで、各シートに対応するクリック可能なハイパーリンク付きのシート名一覧を自動的に表示したいと思いませんか?このチュートリアルでは、Excel でワークシート名の一覧を素早く、効果的に生成する方法をご紹介します。

Excel で複数のワークシート名が一覧表示されているスクリーンショット

数式を使ってブックからすべてのワークシート名を動的に取得する

Kutools for Excel を使ってブックからすべてのワークシート名を取得する

VBA コードを使ってブックからすべてのワークシート名を取得する


数式を使ってブックからすべてのワークシート名を動的に取得する

Excel では、セルに名前を定義し、現在のブック内のすべてのシート名を一覧表示する数式を適用できます。以下の手順に従ってください。

1。「数式」タブをクリックして「名前の管理」を選択してください(下記スクリーンショット参照)。

ワークシート名の名前付き範囲を Excel の「名前マネージャー」で作成しているスクリーンショット

2。「名前の管理」ダイアログボックスで、「新規」ボタンをクリックしてください(下記スクリーンショット参照)。

「名前マネージャー」でワークシート名用の新しい名前を作成しているスクリーンショット

3。表示された「新しい名前」ダイアログで、「名前」テキストボックスに任意の名前を入力し、「参照先」テキストボックスに以下の数式をコピーしてください(下記スクリーンショットを参照)。

=GET.WORKBOOK(1)&T(NOW())

ワークシート名を動的に一覧表示するための GET.WORKBOOK 数式を定義している方法を示すスクリーンショット

4。「OK」をクリックしてダイアログボックスを閉じ、次に「閉じる」をクリックします。その後、すべてのシート名を一覧表示したいシートに移動し、空白セルに次の数式を入力してください。

=IFERROR(INDEX(MID(Sheetnames,FIND("]",Sheetnames)+1,255),ROWS($A$2:A2)),"")

注:上記の数式で使用している「Sheetnames」は、ステップ3 で作成したセルの名前です。

5。その後、フィルハンドルを下方向にドラッグして空白セルが表示されるまで範囲を広げると、現在のブック内のすべてのシート名が次のスクリーンショットのように一覧表示されます。

Excel で数式を使用して動的にワークシート名が一覧表示されているスクリーンショット

6。各シートへのハイパーリンクを作成するには、以下の数式をご利用ください。

=HYPERLINK("#'"&A2&"'!A1","Go To Sheet")

注:上記の数式において、「A2」はシート名を含むセルを、「A1」はハイパーリンクをクリックした際にアクティブになるセルを示します。たとえば、ハイパーリンクをクリックすると、対象シートのセル A1 に移動します。

Excel で一覧表示されたワークシート名に対してハイパーリンクが作成されているスクリーンショット

7。これで、ハイパーリンクをクリックすると、対象のシートに移動できます(下記デモをご参照ください)。

ハイパーリンクをクリックして対応するワークシートに移動する様子を示す GIF

ヒント:
  • 1。上記の数式を使うと、作成されたシート名が動的に一覧表示され、ワークブック内のシート名を変更した際に、インデックスシートの名前も自動で更新されます。
  • 2。ファイルを閉じて再度開いた後も数式が正しく動作するよう、「Excel マクロ有効ブック」として保存してください。

Kutools for Excel を使ってブックからすべてのワークシート名を取得する

サードパーティ製アドイン「Kutools for Excel」の「リンクテーブルの作成」機能を使えば、ワンクリックでワークシート名の一覧を自動生成し、各ワークシートへのハイパーリンクを簡単に設定できます。

Kutools for Excelは、複雑な作業を合理化する300 以上の高度な機能を提供し、創造性と効率性を高めます。AI 機能と統合されたKutools は正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。「KUTOOLS PLUS」>「ワークシート」>「リンクテーブルの作成」をクリックしてください(下記スクリーンショットをご参照ください)。

Excel の Kutools タブにある「ワークシート名の一覧を作成」オプションのスクリーンショット

2. 「リンクテーブルの作成」ダイアログボックスで、以下の設定を指定してください。

「ワークシート名の一覧を作成」ダイアログのスクリーンショット

(1。) お好みの「スタイル」を選択すると、ハイパーリンク付きまたはマクロボタン付きのワークシート名が作成できます。

(2。) シートインデックス用のワークシート名を入力してください。

(3。) ワークシートインデックスの配置位置を指定します。

(4。) 新しいワークシートでワークシート名を表示する際に使用する列数を指定します。

3。設定を完了したら、「OK」をクリックしてください。すると、現在のブック内の新しいワークシートに、すべてのワークシート名がリンク付きで一覧表示されます(下記スクリーンショット参照)。

ハイパーリンク付きのワークシート名マクロボタン付きのワークシート名
Kutools を使用してハイパーリンク付きのワークシート名が作成されているスクリーンショットKutools を使用してマクロボタン付きのワークシート名が作成されているスクリーンショット

Kutools for Excel—300 以上の必須ツールでExcel をパワーアップ!作業がより迅速・簡単になり、AI 機能を活用してスマートなデータ処理と生産性の向上を実現します。今すぐ入手


VBA コードを使ってブックからすべてのワークシート名を取得する

1。「ALT」+「F11」キーを押すと、「Microsoft Visual Basic for Applications」ウィンドウが開きます。

2。「挿入」>「標準モジュール」をクリックし、表示される「標準モジュール」ウィンドウに以下のマクロを貼り付けてください。

VBA:新しいワークシートにハイパーリンク付きですべてのワークシート名を一覧表示する:

Sub CreateIndex()
'updateby Extendoffice
    Dim xAlerts As Boolean
    Dim I  As Long
    Dim xShtIndex As Worksheet
    Dim xSht As Variant
    xAlerts = Application.DisplayAlerts
    Application.DisplayAlerts = False
    On Error Resume Next
    Sheets("Index").Delete
    On Error GoTo 0
    Set xShtIndex = Sheets.Add(Sheets(1))
    xShtIndex.Name = "Index"
    I = 1
    Cells(1, 1).Value = "INDEX"
    For Each xSht In ThisWorkbook.Sheets
        If xSht.Name <> "Index" Then
            I = I + 1
            xShtIndex.Hyperlinks.Add Cells(I, 1), "", "'" & xSht.Name & "'!A1", , xSht.Name
        End If
    Next
    Application.DisplayAlerts = xAlerts
End Sub

3。「F5」キーを押してこのマクロを実行すると、現在のワークブック内のすべてのワークシート名が「Index」という新しいワークシートにハイパーリンク付きで一覧表示され、各シートへ簡単に移動できるようになります(下記スクリーンショット参照)。

アクティブなブック内のすべてのワークシート名が一覧表示された「Index」という新しいワークシートのスクリーンショット