エクセルのファイルにシートの数が大量になってきました。
どうしても同じファイルにしておきたいのですが、開くたびに、シートを探す動作が発生して面倒です。
それで先頭のシートを目次にして、開くたびに必ず目次のシートが表示され、かつ目次のリストの一覧から当該セル(ボタン)をクリックすると、目的のシートにジャンプするようにセルを設定したいのですが、マクロまたは関数を使う方法などで教えてください。
1.開くたびに必ず目次のシートが表示されるようにする。または、閉じるときに、先頭のシートにジャンプして閉じるようにする。
2.目次のシートのシートリストをクリックして、当該シートを表示させる。
以上2点です。その他アドバイスがありましたらお願いします。
No.5
- 回答日時:
モデルサンプルを上げてみます。
たぶん下記のことがしたいのでしょう。シートを1つ追加(3->4枚にする。例を増やしただけで特別な意味なし)
Sheet2をSheet2のまま
Sheet3をaaa
Sheet4をXXXX
とシート名を変更
ーーー
Sheet1のA列にA2:B4
xxxxA2
Sheet2b3
aaac4
と入れる
ーー
Sheet1のシートモジュールに
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
Dim sn As String
sn = Target.Value
cl = Target.Offset(0, 1).Value
MsgBox sn
Worksheets(sn).Activate
ActiveSheet.Range(cl).Select
End If
End Sub
ーーーー
Sheet1のA2:A4のどれかを選択すると
ソノシートが開き、対応行B列のセルがアクチブになります。
ーーー
上記のエッセンスを採り、A列範囲チェックやその他工夫してみてください。
ーーー
>関数を使う方法などで
関数はセルの値しか左右できません。こういう発言が出るのは関数の本質を理解してないからです。
ーーーーー
開いたときSheetを開くのは、よくある質問例で
ThisWorkbookのWorkbook_Openイベントに入れればよいので略。
WEBで照会のこと。
No.3
- 回答日時:
> 再びエクセルを開くと、マクロが自動的に働かず
ツール→マクロ→セキュリティ から、「中」に設定して下さい。
あ、あと書き忘れましたが、#2のやつは、開く度に目次を作り直します。
ワークシート数がやたら多くて時間がかかりすぎる場合は宜しくないかもしれませんね。
この回答への補足
再度、すみません。すでに中に設定されているようです。
オープンパスワードを設定しています。
その関係でしょうか。起動しないようです。
よろしくお願いします。
No.2
- 回答日時:
何も考えずテキトーに作ってみました。
Private Const IndexSheet As String = "目次"
Private Const IndexCol As String = "A"
Private Const IndexRow As Long = 1
Private Sub Workbook_Open()
On Error Resume Next
Dim i As Long
Application.ScreenUpdating = False
'目次シートなければ作成
ThisWorkbook.Sheets(IndexSheet).Select
If Err.Number = 9 Then
ThisWorkbook.Sheets.Add(Before:=Sheets(1)).Name = IndexSheet
End If
'目次作成
For i = 2 To ThisWorkbook.Sheets.Count
With ThisWorkbook.Worksheets(IndexSheet)
.Hyperlinks.Add Anchor:=.Range(IndexCol & i - IndexRow), Address:="", SubAddress:= _
ThisWorkbook.Worksheets(i).Name & "!A1", TextToDisplay:=ThisWorkbook.Worksheets(i).Name
End With
Next
'目次シートを選択
ThisWorkbook.Worksheets(IndexSheet).Select
Application.ScreenUpdating = True
End Sub
この回答への補足
すみません。両方のマクロを試しましたが、いずれの場合も、目次でないシートを開いた状態でファイルを閉じて、再びエクセルを開くと、マクロが自動的に働かず、普通の場合と同様に、閉じたときのシートが出てきます。
アドバイスをお願いします。
No.1
- 回答日時:
1.マクロで
Altキー+F11キーでThisWorkBookモジュールに
Private Sub Workbook_Open()
Sheets("目次").Activate
End Sub
ただし、シート名を「目次」にしておいてください。
2.ハイパーリンクで
目次シートに、メニューの「挿入」、「ハイパーリンク」で「このドキュメント内」をクリックし、シートを選択します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
エクセルのマクロでアクティブ...
-
【ExcelVBA】全シートのセルの...
-
セルのコピーで「オブジェクト...
-
VBA実行時エラー1004 ソート失敗
-
vba 環境依存文字がListViewボ...
-
VBAで指定シート以外の選択
-
特定の文字を含むシートだけマ...
-
VBAで作成したComboboxにVBAで...
-
VBAの授業でナンプレを制作して...
-
エクセル VBA シートのコピー
-
Excelマクロのエラーを解決した...
-
VBA 別ブック(シート)の同...
-
Excel2003 VBA6.0です シート...
-
ブック名、シート名を他のモジ...
-
Excel VBA マクロ あるフォルダ...
-
Excelの起動
-
テキストボックス
-
ExcelVBAでのシート操作について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
別のシートから値を取得するとき
-
ブック名、シート名を他のモジ...
-
実行時エラー'1004': WorkSheet...
-
Excelマクロのエラーを解決した...
-
XL:BeforeDoubleClickが動かない
-
シートが保護されている状態で...
-
エクセルのシート名変更で重複...
-
実行時エラー1004「Select メソ...
-
VBAで同じシート名のコピー時は...
-
エクセルで通し番号を入れてチ...
-
同じ作業を複数のシートに実行...
-
Excel VBA リンク先をシート...
-
ExcelのVBAのマクロで他のシー...
-
Vba UserformからExcelシートの...
-
【Excel VBA】Worksheets().Act...
-
VBA 存在しないシートを選...
おすすめ情報