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リンク化が可能です。応用することで簡単な社内ツールとして活用できます。


コメント