
No.6ベストアンサー
- 回答日時:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim hlc As Range
If Target <> Range("A1") Then Exit Sub
For Each hlc In Range("A5:A15")
If hlc.Hyperlinks.Count = 1 And hlc = Range("A1") Then
With hlc
ActiveSheet.Hyperlinks.Add Target, hlc.Hyperlinks.Item(1).Address
End With
End If
Next
End Sub
No.5
- 回答日時:
[回答番号:No.4] の DOUGLAS_ です。
>選択した途端にリンク先に飛ぶのでは困ります。
とのことでしたら、#2さんのコードの方がよいですね。
>チェンジイベントとかよくわかりません。
私のコードも、#2さんのコードも「チェインジイベント」といって、ワークシート上で何らかの変化が生じたときに自動的に動くマクロのことです。
とは、言っても、
If Target <> Range("A1") Then Exit Sub
とか
If Target.Address = "$A$1" Then
というような記述で、セルA1 以外での変動は除外するようにしてあります。
>マクロというのが実はよくわかりません
さて、上記の「チェインジイベント」を使用するには下記の段取りで行ないます。
1)シート タブ(ラベル)を右クリック [コードの表示(V)] をクリックして現われる コードウィンドウ に#2さんのコードをコピペ。
2)[Alt] + [F4] で コードウィンドウ を閉じる。
3)A1 のドロップダウンから URL を選び、それをクリックすると ブラウザ が起動して、リンク先に飛びます。
このマクロが不要なときは、(1)と同様にして コードウィンドウ を開き、(1)でコピペしたコードを削除し、(2)のように コードウィンドウ を閉じます。
この回答への補足
皆さんに教えて頂いて、それでも上手くいかない要因が見つかりました。
入力規則の元となるセルにURLをそのまま(グーだったらhttp://www.goo.ne.jp)
と入れていれば、ドロップダウンでグーのURLを選択すれば、
選択したあとにクリックすれば飛ぶのですが、
元となるセルに、URLそのままではなく、「グー」と表記されていると、
その後選択してもリンク先に飛ばなくなってしまいます
(ハイパーリンクの挿入で、表示文字列が「グー」で、
アドレスにhttp://www.goo.ne.jpと入っている状態)
これを上手くやる方法はないのでしょうか・・・
No.4
- 回答日時:
HTML でしたら Javascript で可能ですが、エクセルのワークシートから直接ご要望のことをしようとすれば、#2さん同様、ワークシートの チェインジイベント になります。
1)シート タブ(ラベル)を右クリック [コードの表示(V)] をクリックして現われる コードウィンドウ に下記をコピペ。
'---------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then ActiveWorkbook.FollowHyperlink Target.Value
End Sub
'---------------------------------------------------------------
2)[Alt] + [F4] で コードウィンドウ を閉じる。
3)A1 のドロップダウンから URL を選んだ途端に ブラウザ が起動して、リンク先に飛びます。
もし、A1 の ドロップダウン リスト には、ホームページの名前が入っていて、アドレスが別のセルに羅列されているというような場合でしたら、例えば、リストの [元の値(S)] が「=B1:B3」で、「C1:C3」に対応するURLが入っているというようなことでしたら、
'---------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
ActiveWorkbook.FollowHyperlink _
Application.WorksheetFunction.VLookup(Target.Value, Range("B1:C3"), 2, 0)
End If
End Sub
'---------------------------------------------------------------
というようなことになります。
この回答への補足
せっかく書いていただいたのですが、
チェンジイベントとかよくわかりません。
また、選択した途端にリンク先に飛ぶのでは困ります。
難しそうですが、やってみます・・・。
No.2
- 回答日時:
入力規則のセルがA1として、別セルに
=HYPERLINK(A1,"お気に入り")
とすれば(Excel2007)OKでした。
A1セルで、ハイパーリンクするならマクロになります。
シートラベルを右クリック>コードの表示で、VBEのコードウインドウに下記コードを貼り付け
Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("A1") Then Exit Sub
Target.Hyperlinks.Add Target, Target.Value
End Sub
ありがとうございます。
使っているのは2002なので、できなさそうですね。
マクロというのが実はよくわかりませんが、やってみます。
No.1
- 回答日時:
入力規則のセルにはできませんが、別セルにリンク先を関連付ける事は可能ですが如何でしょうか。
一例です。
(1)リストを定義、A1:A5として、B1:B5にHPのURLを定義、入力規則で「リスト」「=$A$1:$A$5」を登録
(2)入力規則の左隣のセルに=IF(入力規則セル<>"",HYPERLINK(VLOOKUP(入力規則セル,$A$1:$B$5,2,FALSE),"リンク先"),"")
ご丁寧にありがとうございます。
ご指示頂いたとおりにやってみましたがエラーになってしまいました。
やはり入力規則セルには設定できないのですね。
できれば便利かなと思ったのですが、地道に
自分で他のやり方でやるしかないみたいです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ipadのエクセルでキャラの選択をしたい。 1 2022/09/21 08:58
- Excel(エクセル) コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで 3 2022/04/03 21:43
- Excel(エクセル) エクセルの表で A1にデータの入力規則でリストを作って、 (リス、キリン、ゾウとします) リストを選 4 2022/07/15 09:29
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) データ入力規則リスト 空白を無視 3 2022/07/13 15:11
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) 範囲選択すると最後の一行で急に出てくる#が邪魔で困っています。 ExcelでVLOOKUPで引っ張っ 2 2022/08/31 10:03
- 年賀状作成・はがき作成 エクセルで作った住所録をワードの差し込み印刷ではがきに印刷したい 3 2022/09/26 15:47
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
エクセルで既に入力してある文...
-
IF関数で0より大きい数値が入力...
-
Excelでセルに入力されたカラー...
-
空白でないセルの値を返す方法...
-
参照先セルに値が入っていない...
-
【Excel】セル内の時間帯が特定...
-
入力したところまでを自動的に...
-
Excel:文字と数字の組合せ、次...
-
エクセル:コメントのようなも...
-
エクセルの数式がかぶって、選...
-
マクロ無しで時間自動で記入を...
-
CSV出力で変換されてしまっ...
-
excel 関数にて文字を0として認...
-
Excel 大小比較演算子による「...
-
エクセルで時間の判定をしてい...
-
エクセル セルに文字を入力した...
-
エクセルで10分ごとの時刻の...
-
エクセルで、数値を月として認...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じセルに箇条書きをし...
-
A1セルに入力したら、入力時間...
-
エクセルで既に入力してある文...
-
IF関数で0より大きい数値が入力...
-
空白でないセルの値を返す方法...
-
Excelでセルに入力されたカラー...
-
入力したところまでを自動的に...
-
Excel:文字と数字の組合せ、次...
-
yyyy/mm/ddからyyyy/mmへの変換
-
エクセルで、特定のセルの内容...
-
エクセルの数式がかぶって、選...
-
Excel 大小比較演算子による「...
-
【Excel】セル内の時間帯が特定...
-
excel 関数にて文字を0として認...
-
【エクセル】指定したセルに入...
-
エクセルで、数値を月として認...
-
参照先セルに値が入っていない...
-
マクロ無しで時間自動で記入を...
-
値を入力後、自動的にアクティ...
-
エクセル セルに文字を入力した...
おすすめ情報