Excelマクロで部署・部課・使用者選択から自動アドレス表示とハイパーリンク化する方法

Excel

Excelで部署、部課、使用者を選択すると、対応するPCアドレスを自動表示し、さらにhttpリンクとして扱えるようにするには、VBAマクロとデータ検証を組み合わせる方法が有効です。この記事では初心者でも実装可能な手順を解説します。

1. データ準備とリスト作成

まず、部署、部課、使用者、PCアドレスを一覧表に整理します。例えばSheet2に以下のように配置します。

  • A列:部署
  • B列:部課
  • C列:使用者
  • D列:PCアドレス

次に、部署、部課、使用者用にSheet1でドロップダウンリストを作成します。セルを選択し、データ > データの入力規則 > リストを指定して、一覧表の範囲を設定します。

2. マクロで自動表示

Sheet1のセルが変更されたときにアドレスを自動表示するには、以下のWorksheet_Changeイベントを使用します。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Dim wsData As Worksheet
    Dim found As Range

    Set wsData = Worksheets("Sheet2") ' データ表のシート名

    If Not Intersect(Target, Me.Range("A2:C2")) Is Nothing Then ' 選択範囲
        Set found = wsData.Range("A2:A1000").Find(Me.Range("A2").Value, , xlValues, xlWhole)
        If Not found Is Nothing Then
            Dim addr As String
            addr = found.Offset(0, 3).Value ' D列のアドレス
            Me.Range("D2").Value = addr
        End If
    End If
End Sub

これにより、部署・部課・使用者を選ぶと、該当するアドレスがD2セルに自動表示されます。

3. 表示されたアドレスにハイパーリンクを付与

アドレスをクリック可能にするには、以下のコードを追加します。

With Me.Range("D2")
    .Hyperlinks.Delete
    .Hyperlinks.Add Anchor:=.Cells(1, 1), Address:=.Value, TextToDisplay:=.Value
End With

これにより、セルに表示されたアドレスがhttpリンクとして機能し、クリックするとブラウザで開けます。

4. 注意点と応用

リスト範囲やシート名を自分の環境に合わせて変更してください。また、複数の条件(部署・部課・使用者すべて一致)で検索する場合は、FindではなくループやFilter関数で条件を組み合わせるとより正確です。

マクロを使用する場合は、セキュリティ設定でマクロ有効を許可する必要があります。

まとめ

Excel初心者でも、データ検証とWorksheet_Changeイベントを使えば、部署・部課・使用者を選択して対応アドレスを自動表示、さらにhttpリンク化が可能です。応用することで簡単な社内ツールとして活用できます。

コメント

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