エクセルでsheet1の任意のセルをクリックすると、sheet2の任意のセルにハイパーリンクするようにしています。
その際に、ハイパーリンク先の該当箇所に色がつくようにVisual Basicでプログラムを組み込みました。ひとつのハイパーリンク元にひとつのハイパーリンク先を作っていましたが、ひとつのハイパーリンク元に複数のハイパーリンク先を作り、ハイパーリンク先の該当箇所に色をつけたいのですが、どのようにすればよいのでしょうか?(2つハイパーリンク先があるときは、2つの該当セルに色がつくようにしたいです)
Visual Basicで作ったプログラムは以下のとおりです。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
End Sub
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
ActiveCell.Interior.ColorIndex = 3
End Sub
このプログラムを修正する必要がある場合は、Visual Basic初心者なので具体的にどのようにすればよいか教えてください。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
> ひとつだけ他のものより濃い色で表示されます。
正確に言えば、カーソルのあるセルが着色本来の色、その他の
セルは網掛け表示されややくすんだ色で表示されています。
現在選択されているセルの内、カーソルのあるセルを視覚的に
識別するための Excel の仕組みです。
気にしなければ良い程度のことだと思いますが、今回のケース
ではセルに着色を行っているので、
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Selection.Interior.ColorIndex = 3
Application.EnableEvents = False
ActiveCell.Select
Application.EnableEvents = True
End Sub
こんな感じで、VBA のイベントを停止にしたうえで選択を解除
すればご希望の動作となりそうです。
No.3
- 回答日時:
> とびとびのセルの場合どのように指定すればよいのでしょうか?
セル範囲に名前を定義しておきます。
1. リンク先となるセルを選択
2. [挿入]-[名前]-[定義]、または数式バーの横にあるセル名が
表示されているボックスに直接入力で名前を定義します。
リンク先の設定に、この名前を選択します。
この回答への補足
できました。ご親切にありがとうございました。
リンク先の複数のセルが色つきで表示されるのですが、ひとつだけ他のものより濃い色で表示されます。これは仕方ないのでしょうか?
No.2
- 回答日時:
> ActiveCell.Interior.ColorIndex = 3
Selection.Interior.ColorIndex = 3
で良くない? 少し凝ったやりかたなら
Range(Target.SubAddress).Interior.ColorIndex = 3
とか。
この回答への補足
回答ありがとうございました。
連続するセルならば、例えばハイパーリンクの設定で「A1:A20」とすれば、VisualBasicですべてに色がつきますが、連続しない、とびとびのセルの場合どのように指定すればよいのでしょうか?
No.1
- 回答日時:
> ひとつのハイパーリンク元に複数のハイパーリンク先を作り
とは、具体的にどういうことですか?
この回答への補足
sheet1に図面、sheet2に一覧表を作りました。
一覧表で商品を管理しており、商品名および管理番号を記載しております。
図面にも管理番号を記載しており、sheet1の一覧表の管理番号をクリックすると、ハイパーリンクでsheet2の図面の同じ管理番号のセルにカーソルがいき、そのセルが色つきで表示されるようにしています。(一覧表の管理番号が図面上、どこにあるのか分かるようにしています)
しかし、図面上に同じ管理番号が複数存在するものがあり、複数存在するものは一覧表の管理番号をクリックすると、図面上の同じ管理番号がすべて色つきで表示されるようにしたいと思っています。
ハイパーリンクの機能でこのようなことができるのか、またVisualBasicでできるのかよく分かりません。
説明不足で申し訳ございません。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ハイパーリンクの削除について 2 2022/11/10 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Excel(エクセル) Excel ハイパーリンク設定について 教えてください 例なんですが、 VBAにてファイル1の列Gに 2 2022/11/04 17:52
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Excel(エクセル) Excelでハイパーリンクが変化する表を作りたい 6 2023/05/03 07:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 足して割る
-
対象セル内(複数)が埋まった...
-
エクセルで作成したカレンダー...
-
エクセルのセルの枠を超えて文...
-
セルをクリック⇒そのセルに入力...
-
excelの特定のセルの隣のセル指...
-
Excelでのコメント表示位置
-
エクセルの一つのセルに複数の...
-
excelのCOUNTIF関数で、『範囲=...
-
貼り付けで複数セルに貼り付けたい
-
★★エクセルのテキストボックス...
-
【エクセル】IF関数 Aまたは...
-
枠に収まらない文字を非表示に...
-
エクセル セルの中に縦線が入っ...
-
エクセル②
-
EXCEL VBA セルに既に入...
-
画像を削除したい(VBA)
-
セルの高さ(行高)を求めるには?
-
エクセルのセル交点に丸印をつ...
-
エクセル 数値の振り分け
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
貼り付けで複数セルに貼り付けたい
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
エクセル 足して割る
-
excelのCOUNTIF関数で、『範囲=...
-
EXCEL VBA セルに既に入...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excel2003 の『コメント』の編...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
複数のセルのいずれかに数字が...
-
枠に収まらない文字を非表示に...
-
excelの特定のセルの隣のセル指...
おすすめ情報