[[20250929092559]] 『sheet左の目次から右の詳細へ飛びたい』(kwsk) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『sheet左の目次から右の詳細へ飛びたい』(kwsk)

閲覧ありがとうございます。

Excelのsheet左側(B〜E)列に目次とまとめ、
右側(G〜DR)列に詳細が記載されたsheetがあります。

  A  B    C   D    E  F

1   

2   名  受注  予定  残り

3   α  100   150   50

4   β  


  G  H   I    J   K  。。。 T   U  V

1 α  受注  100  予定   150     β  受注

2

G2〜DR50にデータ、それをまとめたものがG1〜DR1に。
それをぱっと見で分かるようにB2〜E11の表にまとめています
(関係なさそうな部分は大幅に省略しています)。

B2〜でまとめた表の中の、B3〜B11の名前の部分にリンクを張り、
G以降の詳細へ飛べるようにしたいのですが、
名称(αやβ、実際には企業の名前)が9つあり、
1つ1つにスクロールを調整したマクロを作成、が手間に感じています。
一回作ってしまえば終わり、といえばそうなのですが。

もし可能であれば、
・B3(α)を選択した状態でB16に作ったボタンを押すと、αの場所にスクロールする、B4をクリックした状態で同じB16のボタンを押しても、選択しているセルに応じてスクロールを調整する。
・B3〜B11にボタンを作成、1つのマクロの中で変数を用いてスクロールを調整する(この場合ボタンを設置したセルの位置を認識させる必要がある?)。

このようなスクロールの微調整を行う方法をアドバイスいただけないでしょうか。

< 使用 Excel:Excel2021、使用 OS:Windows11 >


 名前を検索すれば、ジャンプ先が判るんではないのですか?
(´・ω・`) 2025/09/29(月) 12:11:07

 (1)
 一つのボタンで、その時の選択セルの値をもとにジャンプする場合。
 既に指摘がありました。

  Dim target As Range
  Set target = 検索範囲.Find(Selection.Value,  ....)   ' 補充して完成してください。
  Application.Goto Target, True

 (2) 
 > ・B3〜B11にボタンを作成、1つのマクロの中で変数を用いてスクロールを調整する
 >  (この場合ボタンを設置したセルの位置を認識させる必要がある?)。
 の場合は、以下を参考にして、そちらで微修正して下さい。

 Sub myclick()  ''複数のボタンに共通して登録する、クリック時に実行するプロシージャー
     Dim shp As Shape
     Dim r As Range
     Dim target As Range

     Set shp = ActiveSheet.Shapes(Application.Caller) ' 呼ばれたボタンを特定できます。
     Set r = shp.TopLeftCell             '位置関係の前提によって微修正はそちらで考えて下さい。
     Set target = 検索範囲.Find(r.Value,....)     '文字列を検索(完成させてください)
     Application.Goto Target, True
 End Sub

 Sub 各ボタンへのマクロの登録()
     Dim shp As Shape
     For Each shp In ActiveSheet.Shapes
         If shp.Type = msoFormControl Then
             shp.OnAction = "myclick"
         End If
     Next
 End Sub  

  #  Findメソッドを簡略に書きすぎたので修正しました。(23:02)
(xyz) 2025/09/29(月) 21:03:47

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.