- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAのハイパーリンクについて質問です)
VBAのハイパーリンクについての質問
このQ&Aのポイント
- VBA初心者がリスト.xlsのマクロで別のブックのハイパーリンクを追加したいが、毎回ブックとシート名が異なるため、変数の使用方法が分からない。
- ハイパーリンク追加に関するVBA初心者の質問。リスト.xlsのマクロで毎回異なるブックとシート名に対応するために、変数の使い方を教えてほしい。
- VBA初心者がリスト.xlsのマクロでハイパーリンクを追加したいが、異なるブックとシート名のために変数をどのように使えばいいのか分からない。解説付きで教えてほしい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ハイパーリンクでなくても良いのでは? ActiveX コントロール・ボタンやダブルクリック・イベントにすればよいと思います。 毎回、変化するだけなら、マクロではなく、HYPERLINK 関数だけで可能だと思います。 'コマンドボタン Private Sub CommandButton1_Click() Dim fn As String '←変数 fn = ActiveCell.Value If fn = "" Then Exit Sub If Dir(fn) = "" Then Exit Sub 'ファイルが存在しない場合 If Not (fn Like "*.xls" Or fn Like "*.xls?") Then Exit Sub 'Excelファイルでない場合 Workbooks.Open fn End Sub >ブック、シート名を指定すればリンクを追加できるのですが、毎回ブックもシート名も違うので変数を使用 それは、ファイル名が変化すると言われただけでは、どのような変化をするのか説明していただかなければ、こちらでは回答できません。 =HYPERLINK(A1) などでも可能なはずです。ただし、こちらでは、セキュリティが掛かって、開くのに面倒です。
補足
回答ありがとうございます。 ファイルの中に複数ブックがあります。 条件を指定して複数のブックの中の1つを開き、さらにブック内で条件を指定(毎回条件は変わります)してシートを絞ります。 その条件に当てはまるシートが複数ある為、リストのブックのシート2にリスト化したいと思っています。 シートを絞る際にシートをアクティブにしますので開いているシートのアドレス?を取得しハイパーリンクに 出来ればと思っていました。 シート2は毎回削除しようと思っています。 申し訳ないのですが理解不足で教えてもらったコマンドボタンの使用方法がわかりませんでした。