Excelで図形へのハイパーリンクの設定方法と特定セルの表示位置について

このQ&Aのポイント
  • Excelのシート上で特定セルに対してハイパーリンクの設定を行いましたが、図形に対して同じように設定すると特定セルが表示されません。
  • 特定セルに対してはリンク先が左上隅に表示されるように設定しましたが、図形に対してはこの設定が適用されません。
  • どのようにすれば図形に対してもリンク先の特定セルを表示させることができるのか、教えてください。
回答を見る
  • ベストアンサー

Excel 図形へのハイパーリンク

Excel 図形へのハイパーリンク Excelのシート上で一つのセルに対してハイパーリンクの設定を行いました。 リンク先は同シート上の別の特定セルです。 特定セルにリンクした後、その特定セルが常に左上隅に表示させるように、ThisWorkbookに下記コードを記述しました。 Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) 'リンク先セルを左上隅にして画面表示します ActiveWindow.ScrollRow = Selection.Row ActiveWindow.ScrollColumn = Selection.Column End Sub その後、図形に対して同じようにハイパーリンクの設定を行ったところ、リンクはするのですがリンク先の特定セルが左上隅に表示されなくなってしまいました。 ※図形は、図形の上にテキストボックスを置き、グループ化しています セルに対してと図形に対してでは何か違うのでしょうか。 上記コードは他の方が記述されたものをコピペしただけなので、どの部分を修正すれば良いのか分かりません。 どのようにすれば良いのか教えて頂けませんでしょうか。宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

図形のハイパーリンクでは、SheetFollowHyperlinkイベントが発生しないので 提示のコードではできません。 代案としては、図形にマクロを登録しておく方法でしょうかねぃ。   ●ハイパーリンク先が、Sheet3 の セルH30だとした場合。   (1)標準モジュールに以下のコードを書いておく '--------------------------------------- Sub Test()   Sheets("Sheet3").Select   Sheets("Sheet3").Range("H30").Select   ActiveWindow.ScrollRow = Selection.Row   ActiveWindow.ScrollColumn = Selection.Column End Sub '-------------------------------------- (2) 図形を右クリック > マクロの登録 (3) マクロ登録画面のマクロ一覧ボックスので、"TEST"を選択 (4) OKボタン これで図形をクリックするとハイパーリンク擬きになります。 以上です。  

ihlzst
質問者

お礼

ありがとうございます! 上記で解決できました!!本当に助かりました。 拙い質問文ですのに的確なご回答ありがとうございました。

関連するQ&A

  • エクセルのハイパーリンクについて

    エクセルで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初心者なので具体的にどのようにすればよいか教えてください。 よろしくお願いします。

  • ハイパーリンクのイベント挙動について

    Excel2007でのハイパーリンクをクリックした際に発生するイベントについてお伺いさせてください。 Excelでハイパーリンクのイベントを用いてやりたいことがあったのですが、どうしてもWorkbook_SheetFollowHyperlinkでの動作がうまくいかないため、以下の処理を試みてみました。 Private Sub Workbook_SheetFollowHyperlink                      (ByVal Sh As Object, ByVal Target As Hyperlink)     Worksheets("sheet1").Cells(1, 1).Value = 5 End Sub ところが、ハイパーリンクをクリックしてもsheet1のセルA1には代入は行われず、ただリンク先のセルへ飛ぶだけの処理となってしまいます。 以上を踏まえた上で以下の2点について質問させてください。 ・Workbook_SheetFollowHyperlinkはブック内のハイパーリンクをクリックしたときに呼び出されるという認識に間違いがあるのでしょうか。 ・上記のようにハイパーリンクをクリックした際に指定したセルへ適当な数値を代入するにはどうすればよいのでしょうか。 わかりにくい文章で申し訳ありませんが、ご教授の程よろしくお願いいたします。

  • エクセル 図形 ハイパーリンク 関数

    初めての投稿です。 よろしくお願いします。 エクセルにて顧客管理を作成中です。 図形(オートシェイプ)をボタン風に使い ハイパーリンク関数を使用して同シートのあるセルに飛びたいのです。 実際にやってみた事は図形でなくセルにハイパーリンク関数を入れての動作確認OK そのハイパーリンク関数を図形のハイパーリンクに貼り付けると「指定されたファイルを参照できません」のエラーがでます。 使用したハイパーリンクの方法は図形の縁を右クリック出てきた窓にセルででテスト済みの関数を貼り付けです。 注意点としてはハイパーリンク関数にINDEXとSMALL関数を使用してます。 ↑これがあるとハイパーリンクしないのかな・・・とも考えてます。 後ハイパーリンクの窓に貼り付け後 編集にて確認すると リンク先の先頭の「”」の部分が「%22」と文字化け??しております。後ろの「”」は正常です。 初投稿にてわかりづらい質問のしかたかもしれません。。 ご指導いただければと思います。 実際の関数を載せた方がいいのでしょうか?? 一応張り付けますが、本当にそのままなので分かりづらいかもしれません。 %22の部分が”のはずだと思います。 =HYPERLINK(%22#顧客情報!"&INDEX(F:G,SMALL(G:G,1),1),"新規登録") 第1希望は上記のやり方での何か不具合を直して解決できれば一番いいです。 第2希望はマクロは使用したくありません。。。無知なので^^; そもそも出来ない事をやろうとしているのかもしれませんが・・ どうか宜しくお願いします。

  • 図形からの動的ハイパーリンク作成方法

    皆様、宜しくお願いします! エクセルで動的ハイパーリンクを作成し、図形をクリックすると飛ぶようにして ポータルのような物を作りたいと考えています。 例) エクセルで動的ハイパーリンクを合成する(左からA~G列) [C: ][ \ ][Users][\] [aaa] [\] 【1月 】 【1月】の部分は、入力規則でマスターから呼び出す  (2月、、3月、、4月と選択してリンク先に飛びたいイメージ) 適当なセルで=A&B&C&D&E&F&G と合成し =HYPERLINK(x)と指定してハイパーリンクに変える ここで、図形を押せばに=HYPERLINK(x)からリンク先に飛びたいのですが 図形では、セルを指定するまでしかできませんでした。 他にいい方法があれば、ご教授頂けないでしょうか? 宜しくお願いします。

  • エクセルのハイパーリンクについて

    エクセル2003を使用している者です。 ハイパーリンクに関しての質問です。 エクセル内で画像を複数貼り付け、縦に長く使用しているシートがあります。 そこで、各画像の一番左上に当るセル部分にハイパーリンクを使用して(同じエクセルファイル内ですが)画像にリンクする様に指定をしています。 シートの一番上に貼り付けてある画像は特に問題はないのですが、 例えばA25にLINK先を指定した時、A25が一番左上に表示される様に設定することが出来ますでしょうか。 何が言いたいのかといいますと、A25を指定したときに、LINKして飛んできたとき指定したA25が画面の真ん中辺りにあり、画像が半分程切れた状態になってしまうのです。 見栄えを考えたときに、指定した画像がLINK先から飛んできたときに綺麗に収まるように表示したいと考えたのです。 方法をご存知の方がいらっしゃいましたら、ご教授頂きたく思います。 過去に似たような質問があったら申し訳ありません。 よろしくお願いいたします。

  • エクセルVBA thisworkbookで

    他の方のQ&Aを参照し、以下のことが出来るようになりました。 各シートに記述し、ハイパーリンクをクリックした際、同シート内の参照セルを、画面上の左上に持ってくるというものです。 http://oshiete1.goo.ne.jp/qa631706.html Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) Dim ww_j As Long, ww_k As Long ww_j = ActiveCell.Row() ww_k = ActiveCell.Column() ActiveWindow.ScrollRow = ww_j '行 ActiveWindow.ScrollColumn = ww_k '列 End Sub ここからですが、シートが複数あるため、できれば同ブック内で使用したいと考えております。 thisworkbookに記載すればよいかと思ったのですが、うまくいきませんでした。 どのようにすれば、1シートにみではなく、1ブック内で使用できるか、お教えくださいますようお願い申し上げます。

  • EXCELシート内のハイパーリンク

    作業手順のフローをEXCELで作成しようとしていますが、たとえば作業中、ある条件を満たしていれば作業項目を飛ばしたり戻ったりする事があります。 このとき、表が見やすいようにセルにハイパーリンクを指定して所定のセルに移動させようとしますが、移動先が画面の下にあると、項目内容を見るとき下にスクロールしなければなりません。 画面表示を意識してあらかじめリンク先をずらす方法も考えましたが、イマイチ納得できません。 そこでリンク先のセルが、常に画面の左上に出るような設定があるのなら教えてほしいのです。 EXCELにこだわってはいませんが、マクロを組まないと出来ないようであればあきらめます。 Windows2000でOFFICE2000proを使用しています。

  • Excel97のハイパーリンクについて

    Excel97を使っています。 一覧表があり、ハイパーリンクを使って 同ブック・別シートの詳細へ飛ばしています。 詳細の内容、種類がたくさんある為、 シート分けをせず、1枚のシート内で 離れた場所に詳細内容を作成しておいて、 リンク先を指定する際に、 画面に表示されるセルの場所まで指定したいのですが、 可能でしょうか。 「参照」のセル番地で指定できるのかと思いましたが、 指定したセルがうまく左上にきてくれない為、 画面上にキレイに表示する事が出来ません。 何かいい方法はあるでしょうか? 宜しくお願い致します。 やはり、シーとをそれぞれ作成するしかないでしょうか。

  • ハイパーリンクについて

    Excel2003を使っています。 図のように名前がリンク先というフォルダの中に Aファイル、Bファイル、Cファイル、ABCファイル の4つのファイルがあります。 この中のABCファイルのシート、セルにハイパーリンクを使い Aファイル、Bファイル、Cファイルそれぞれをダイレクトに 開けるようにしました。<図の左上> このABCファイルをよく使うので、リンク先フォルダから出し、 デスクトップで使えるようにしたところ、"指定されたファイルは開くことができません"の エラー表示がでました。調べてみるとフォルダから出したことで ハイパーリンクが変更されてしまっています。 リンク先フォルダから出してもハイパーリンクが機能できる方法はあるのでしょうか? それともハイパーリンク先を再度指定入力しなければならないのでしょうか? おわかりの方、よろしくお願いします。

  • エクセル・ハイパーリンクの質問

    よろしくお願いします。 仕様環境 WinXP/SP2 エクセル2002 エクセルを使ってマニュアルを作っているのですが、 目次シート(sheet)を作り、各項目にハイパーリンクを貼って 他のsheet(マニュアル)に飛ぶようにしています。 ここで2つ問題があります。 1つめは、ハイパーリンクでジャンプする時、「クリック」すると目的の sheet(マニュアル)のセルにジャンプします。 それを「クリック」ではなく「ダブルクリック」でジャンプするように したいのですがどうすればよいのでしょうか? 「クリック」だとちょっと触っただけでも飛んでしまうので、 一拍空けたいのです。 2つめはハイパーリンクでsheet(マニュアル)のセルにジャンプした時、 必ずその目的のセルを一番左上にもってくるようにしたいのですが、 できません。 マクロで記録したりもしたのですが、最初の1回目はできるのですが、 他の操作を行ったりして、改めて行うと必ずしも一番左上になりません。 具体的にいうと例えばセル番号A101を一番左上にしたいのですが、 左下に表示されてしまいます。 ハイパーリンクのジャンプはうまくいくもののとんだ先が、 左下に表示されてしまうのは見栄えもよくありません。 どうすれば、常に一番左上に表示されるようになるのでしょうか? ご指導宜しくお願いします。 PS 添付ファイルを貼り付けました、 私の説明がわかりづらい場合もありますので、ご参照頂ければと思います。

専門家に質問してみよう