Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

この記事では、Excelドロップダウンリスト型のハイパーリンクを作成し、ワンクリックで別のシートへ移動する方法を解説します。HYPERLINK関数を活用する方法とVBAコードを使う方法の2通りを、実際の例をもとに順を追ってご紹介します。

別シートへのドロップダウンリストハイパーリンクを作成する2つの方法

ここでは、2020年1月〜3月の売上明細データが、「January」「February」「March」という月名を付けた3枚のワークシートに分けて保存されているデータセットを例にします。この状態から、シート名の一覧を含むドロップダウンリストを作成し、選択したシートへ移動できるようにしていきます。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

方法1:HYPERLINK関数を使って別シートへのリンクを作成する

まずはHYPERLINK関数を使う方法です。手始めに、シート名を選べるドロップダウンリストを作成しましょう。

ステップ1:ドロップダウンリスト用のセルを選択する

  • ドロップダウンリストを作成したいセルを選択します(この例では「January」シートのセルA2)。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

  • リボンの「データ」タブを開き、「データの入力規則」をクリックします。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

ステップ2:入力規則の設定を行う

  • データの入力規則ダイアログボックスで、「設定」タブ(初期状態で選択されています)を開きます。
  • 「入力値の種類」のドロップダウンから「リスト」を選択します。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

  • 「元の値」欄に January, February, March と入力し、最後にOKをクリックします。
  • これでセルA2に、3つの選択肢から選べるドロップダウンリストが表示されます。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

ステップ3:HYPERLINK関数の数式を入力する

次に、セルA3にHYPERLINK関数を使った以下の数式を入力します。

=HYPERLINK("#'" & A2 & "'!A1","移動")

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

数式の解説:

HYPERLINK関数は、動作するために2つの引数を必要とします。構文は以下のとおりです。
=HYPERLINK(リンク先,[別名])
リンク先 – リンクのジャンプ先となる場所を指定します。今回の数式では—

  • #(シャープ記号):リンク先が同じブック内にあることを示します。
  • A2の部分:セルA2で選択されたワークシート名を参照します。
  • !A1の部分:移動先ワークシートにおけるセル位置を指定します。

たとえば上のスクリーンショットのようにセルA2で「January」を選択している場合、セルA3のリンク先は #'January'!A1 となります。
つまり、リンクをクリックすると「January」という名前のワークシートのセルA1へジャンプします。
[別名] – リンクとして表示される名前です。この例では「移動」と設定しています。

ステップ4:他のシートにもコピーして動作を確認する

「January」シートのセル範囲A1:A3を、「February」「March」シートにもコピーしておきましょう。これで、すべてのシートでセルA2のドロップダウンリストとセルA3の移動用リンクが使えるようになります。

たとえば「January」シートから「February」シートへ移動するには、次のように操作します。

  • ドロップダウンリストで「February」を選択します。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

  • 続いて、セルA3の「移動」リンクをクリックします。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

  • 「February」という名前のシートへの移動に成功しました。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

  • 同様に、ドロップダウンリストでシート名を選んで「移動」リンクをクリックすれば、選択したシートへ素早く移動できます。

あわせて読みたい: Excelでハイパーリンクを作成する5つの簡単な方法

関連記事

  • [解決済み] 「このブックには、安全ではない可能性がある外部ソースへのリンクが含まれています」エラーの対処法
  • Excelで画像をセルの値にリンクさせる4つの方法
  • Excelのリンクが切れ続ける原因は?3つの理由と解決策
  • [解決済み] 「このブックには他のデータソースへのリンクが含まれています」エラーの対処法
  • [修正] Excelのリンクの自動更新が無効になっている場合の対処法

方法2:VBAコードで選択したシートへ自動的に移動する

続いて、VBAコードを使って、ドロップダウンリストで選択されたシート名を検出し、そのシートへ移動する方法をご紹介します。ここでは例として、「April」「May」「June」という3枚の新しいワークシートを作成しました。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

以下の手順に従ってください。

  • 「April」シートのセルA2に、方法1と同じ手順でApril、May、Juneの項目を持つドロップダウンリストを作成します。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

  • セルA2のドロップダウンリストを「May」「June」シートにもコピーします。
  • シート見出しを右クリックし、「コードの表示」を選択します。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

  • Visual Basic Editorが開いたら、以下のコードをコピーして貼り付けます。
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim SheetRng As Range, SheetName As String, TargetSheet As Worksheet
    Set SheetRng = Range("A:A")
    If Intersect(Target, SheetRng) Is Nothing Then Exit Sub
    SheetName = Target.Value
    For Each TargetSheet In Sheets
        If TargetSheet.Name = SheetName Then
            TargetSheet.Activate
        End If
    Next TargetSheet
End Sub

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

  • 同じコードを「May」「June」シートにもコピー&ペーストします。

これで準備完了です。ドロップダウンリストでシート名を選ぶと、バックグラウンドで動作しているコードが自動的に選択したワークシートへ切り替えてくれます。たとえば現在「April」シートにいる状態で、セルA2のドロップダウンリストから「May」を選択してみましょう。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

「May」という名前のワークシートへ自動的に移動できました。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

あわせて読みたい: Excel VBAでセルの値にハイパーリンクを追加する方法(4つの条件)

補足:ウィンドウ枠の固定で移動をさらに便利に

大きなデータセットを扱う場合、ドロップダウンリストのある行をウィンドウ枠の固定しておくと、ワークシートの一番上までスクロールしなくても、いつでも別シートへの移動メニューを利用できて便利です。手順は以下のとおりです。

  • 先頭の2行を固定したいので、3行目を選択します(例:「April」シート)。
  • 「表示」タブを開きます。
  • 「ウィンドウ枠の固定」のドロップダウンをクリックします。
  • 「ウィンドウ枠の固定」オプションを選択します。

Excelでドロップダウンリストから別シートへ移動する方法|HYPERLINK関数とVBAの2つの手法

以上の操作で、ワークシートの先頭2行が固定され、どこをスクロールしていてもドロップダウンリストが常に表示されるようになります。

まとめ

今回は、ドロップダウンリスト型のハイパーリンクを使ってExcelのシート間を移動する2つの方法を、具体例とともに解説しました。HYPERLINK関数を使う手軽な方法と、VBAで自動化する方法、それぞれの特徴を理解して、ぜひ自信を持って活用してください。ご質問やご提案があれば、下のコメント欄でお気軽にお聞かせください。

関連記事

  • Excelで「編集リンク」や「ソースの変更」がグレーアウトしているときの7つの解決策
  • [修正] Excelの編集リンクが機能しないときの対処法
  • Excelで複数のハイパーリンクを一括で有効化する4つの方法
  • VLOOKUPを使って別シートのセルへのハイパーリンクを作成する方法(簡単な手順)
  • Excel VBAでハイパーリンクをChromeで開く3つの例
  • Excelのハイパーリンクを自動的に更新する2つの方法
  1. Excelで複数の単語を含む依存ドロップダウンリストを作成する方法

    Microsoft Excel で作業中 、場合によってはデータ入力フォームや Excel を作成する必要があります ダッシュボード。データ入力フォームを開発する場合、ドロップダウン リストは Excel の非常に便利な機能です。セル内の項目のリストがドロップダウン メニューとして表示され、ユーザーはそこから選択できます。一連のセルに頻繁に入力する必要があるリストがある場合、これは有益です。この記事では、複数の単語を含む Excel 依存のドロップダウン リストを作成する手順を示します。また、これらのリストをクリアまたはリセットする方法も示します。 ワークブックをダウンロードして練習できま

  2. Excelでドロップダウンリスト付きのデータ入力フォームを作成する2つの方法

    Microsoft Excelでは、データ入力フォームや計算フォームなど、さまざまな種類のフォームを作成できます。こうしたフォームを活用すれば、データ入力が格段に楽になり、作業時間の大幅な節約にもつながります。また、Excelには「ドロップダウンリスト」という便利な機能もあります。限られた値を何度も手入力するのは面倒ですが、ドロップダウンリストを使えば、リストから選ぶだけで簡単に値を入力できます。この記事では、Excelでドロップダウンリスト付きのデータ入力フォームを作成する方法を、具体的な操作画面とともにわかりやすく解説します。 Excelでドロップダウンリスト付きデータ入力フォームを