『sheet左の目次から右の詳細へ飛びたい』(kwsk)
閲覧ありがとうございます。
Excelのsheet左側(B〜E)列に目次とまとめ、
右側(G〜DR)列に詳細が記載されたsheetがあります。
A B C D E F
1
2 名 受注 予定 残り
3 α 100 150 50
4 β
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.