[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『リストで選択したシートに移動をしたい』(mikan)
このたび、1つのExcelブック内に大量のシートがある状況で、
シートの移動を効率的に行うため、リストを用いての移動を希望しております。
理想としましては、
リストからシート名を選択した瞬間にシートに遷移できますと幸いでございますが、
リスト選択後に移動ボタンなどを押して移動いただくことでも構いません。
何卒、ご教授のほど、よろしくお願い申し上げます。
< 使用 Excel:Microsoft365、使用 OS:Windows10 >
シート見出しの左側の◀▶部分で右クリックするとシートの選択のダイアログが表示されるが それではどうだろうか? (ねむねむ) 2024/09/03(火) 11:52:50
リストじゃないけれど。
被ったな。
(ゆたか) 2024/09/03(火) 11:56:55
すごく直感的にその資料を触れるようにしたいため、
Excelシート内でできればと思います。
ただ、やりたい動作としては、みなさんのおっしゃっている通りです!
(mikan) 2024/09/03(火) 12:03:02
例
リスト1
シートA
シートB
シートC
シートD
リスト2
シートB
シートC
後出しで申し訳ないのですが、よろしくお願いいたします。
(mikan) 2024/09/03(火) 12:06:41
例えばA1セルに入力規則のリストでシート名を選択表示するとしてB1セルに
=IF(A1="","",HYPERLINK("#'"&A1&"'!A1","ジャンプ"))
と入力するとA1セルでシート名を選択するとB1セルにジャンプと表示され、そこをクリックするとそのシートのA1セルにジャンプする。
(ねむねむ) 2024/09/03(火) 13:09:55
リスト の詳しい定義がされていないので、勝手に1行目のA列から横方向に夫々シート名がリストされた入力規則が設定されていると想定。
入力規則が設定されているシートのコードモジュールに
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Rows(1)) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
If Evaluate("isref('" & Trim(Target) & "'!a1)") Then
Application.Goto Sheets(Target.Value).[a1]
End If
End Sub
(jindon) 2024/09/03(火) 14:45:22
>このたび、1つのExcelブック内に大量のシートがある状況で、 >シートの移動を効率的に行うため、リストを用いての移動を希望しております。
具体的なシート枚数を教えていただけると、より適切なアドバイスが可能です。
●シートの枚数に応じた提案を以下に示します
1. 数十枚のシート
少数から中規模のプロジェクト(例えば、10〜50シート)であれば、
関数処理の方法で十分です。
2. 数百枚のシート
中規模から大規模のプロジェクト(例えば、50〜200シート)であれば、
Worksheet_Changeイベントを使用する方法がおすすめです。
HYPERLINK関数と違ってクリックする人手間が省けるため便利です。
3. 数千枚近いシートまで
非常に大規模なプロジェクト(例えば、200〜1000シート)とかなら
2連動プルダウン機能を使用するのが非常に便利です。
>すごく直感的にその資料を触れるようにしたいため、 >Excelシート内でできればと思います。
関数だけで処理をするのか、VBAも使用するのか?によって 処理の効率が変わりますね。まだ検討中でしょうか?
>複数のリストを作成し、各シートに配置をする予定です。 >また、追記なのですが、リストごとに選択ができるシートを制限したいとも考えております。
リストごとにシートを制限するという案もありますが、シートタブに同じような カテゴリを並べるのが一般的ですので、制限の必要性が低いかもしれません。
以下の方法を提案させていただきます
・2連動プルダウンとHYPERLINK関数の組み合わせ方法 ・2連動プルダウンとWorksheet_Change イベントの組み合わせ方法 ・2連動プルダウンとWorksheet_Change イベントを使用し、 プルダウン操作によってカテゴリ別のシートのみ表示する方法
それでは、がんばってください。 (あみな) 2024/09/04(水) 08:29:33
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.