• 締切済み

(続)Excelで、リストから選択したら自動的にリンク

質問番号:4912606で質問させていただいた者です。 (http://oshiete1.goo.ne.jp/qa4912606.html) この質問において、A1セルでリストから文字を選択して、 その文字をクリックするとリンク先に飛べるという設定の コードを教えていただき、解決したと書きましたが、 質問を締め切ったあとにやってみたらまた不具合がありました。 というのは、質問上では入力規則のセルはA1だけになっていますが、 実際にはA1からA5まであるのです。 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 このコードを教えていただいたのですが、このコードで 言うところのA1を単純にA1:A5にしたけどうまくいかず、 RANGE("A1")のA1をA1:A5にしてみてもうまくいかず、 どうしたらいいのか詰まってしまいました。 再度同じような質問で申し訳ありませんがよろしくお願いします。

みんなの回答

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

≪参考過去ログ≫ 認識するイベントの範囲を制限したい。(VBA) http://oshiete1.goo.ne.jp/qa312058.html ≪訂正≫ If Target <> Range("A1") Then Exit Sub は、DOUGLASさんのように If Target.Address = "$A$1" Then Exit Sub の方が良いと思います。

stars55
質問者

お礼

ご丁寧に追加のコメントをいただきましたが、 よく読んで、わからない言葉も調べながら 自分で理解しようとしましたが、とても難しく やはり理解できませんでした。 もっと初心者に優しい方法があればいいなと思ったのですが なかなか難しいです。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

問題の説明が不足しています。 実際の環境に合わせて書き換えたコードを提示すべき。 ≪1例≫ Intersectメソッドを使って、Targetがセル範囲(A1:A5)にあるかどうか判定する イベントプロシージャの引数について理解する (第37回) http://pc.nikkeibp.co.jp/article/NPC/20070823/280184/?P=2 >再度同じような質問で申し訳ありませんがよろしくお願いします。 貰ったコードを理解する作業を省略していませんか?

stars55
質問者

補足

>実際の環境に合わせて書き換えたコードを提示すべき。 とありますが、まず質問文にも書いたように、A1の部分を A1:A5と書き換えました。 たったそれだけで、それ以外にはどこもいじっていませんが、 それでも説明不足でしょうか? >もらったコードを理解する作業を省略していませんか? 省略していません。見ても調べてもわからないので 質問させていただきました。 そもそもIntersectメソッドとは何のことかもわかりません。 専門用語がわからないので、せっかく記載していただいた 日経のHPですが、読んでも理解できませんでした。

関連するQ&A