プロが教える店舗&オフィスのセキュリティ対策術

Sheet1にA1~N28範囲の書式が50書式あります。 
Sheet2にSheet1の50書式タイトルがあり、タイトルをクリックしたとき、.Sheet1のA1からN28にスクロール表示する方法を関数またはマクロをお知らせ下さい。

よろしく、お願いします。

A 回答 (3件)

セルの右クリックまたは HYPERLINK 関数によりそのセルに設置した「ハイパーリンク」の機能により、クリック時にジャンプさせるという方法が簡単で、お勧め。



詳細は、上のいずれの方法についても、Excel のヘルプあるいはインターネットでの検索により調べてください。


「(ダブルでないシングルの)クリックというイベント」専用のマクロというのは、ありません。しかし、「新たなセルの選択」時に発動させるマクロは作れます。選択には、キーボードの十字キーなどによる選択のほか、勿論、クリックによる選択も含まれます。

Sheet2 のシート見出しを右クリックして「コードの表示」から表示されるコードウィンドウに下のコードを貼り付けると、Sheet2 の C1 セルをクリックなどにより選択した際に、Sheet1 の A1 にカーソルがジャンプします。

ただし既に Sheet2 の C1 が選択されている状態で同じ C1 をクリックしても、動きません。その場合は一旦 Sheet2 の別のセルを選択し、次いで C1 をクリックなどすれば、発動します。

なおダブルクリックについては、それをマクロ発動の条件であるイベントとする(ダブルクリックによりマクロを発動させる)ことができる仕様になっています。


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address = Range("c1").Address Then
      '「 C1 以外も含むセル範囲の選択時」も動作させたい場合は
      '上の If 文を次のものに書換え
      'If Not Intersect(Target, Range("c1")) Is Nothing Then
    Application.Goto Worksheets("Sheet1").Range("a1")
  End If
End Sub
    • good
    • 0
この回答へのお礼

細やかな対応をして戴きました、有難う御座いました。

ご回答戴いた方法をためしてみたのですが、うまくいきません。

それ以前に、私の質問方法が悪くてご迷惑をお掛けしました。

画像を添えて、再質問したので、よろしく、お願いいたします。

お礼日時:2014/01/22 00:03

「スクロール表示する」ってちょっと意味が分かりませんが、



>Sheet2にSheet1の50書式タイトルがあり、

シート2に50個のセルがあって、書式1から書式50まで記入してあると言いたかったのでしょうか

>タイトルをクリックしたとき、.Sheet1のA1からN28にスクロール表示する

シート2のそれら50個のどれかをクリックすると、シート1の該当するセルにジャンプすればいいんでしょうか。



とりあえず以上の前提で。
シート2の50個の各セルをそれぞれ右クリックして「ハイパーリンク」を開始、シート1の所定のセルを設定しておけば、それぞれクリックしたときに該当セルに移動してくれます。




関数でやりたいなら、HYPERLINK関数を使って同様に動作させる事もできます。
=HYPERLINK("#Sheet1!B20","書式15")
みたいな。

マクロを使って「クリックすると動作する」みたいなのは、よく寄せられるご相談ですが基本そういうマクロはありません。例えばマクロボタン(クリックするとマクロが動く)を用意するとか、クリックじゃなくWクリックでジャンプするとか工夫すれば色々出来ることはありますが、ご相談の状況がアイマイすぎて具体的なマクロを回答できる内容じゃないので、ご説明は割愛します。
    • good
    • 0
この回答へのお礼

細やかな対応をして戴きました、有難う御座いました。

ご回答戴いた方法をためしてみたのですが、うまくいきません。
いろいろとためしてみます。

それ以前に、私の質問方法が悪くてご迷惑をお掛けしました。
画像を添えて、再質問したので、よろしく、お願いいたします。

お礼日時:2014/01/22 00:05

Sheet1、2のイメージをご提示ください。

    • good
    • 0
この回答へのお礼

私の質問方法があいまいで申し訳ありませんでした。

画像を添えて、再質問したので、よろしく、お願いいたします。

お礼日時:2014/01/22 00:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!