切り替え可能なシート一覧


sheet_list_macro仕事で利用しているテーブル一覧のエクセルがあるんですけど、肥大化しすぎて目的のテーブルを探す為に右に行ったり左に行ったりと一苦労だったので、シート切り替え機能の付いたシート一覧を作成してみました。

作成してみました。と言ってもコードはどれもネットに転がっていた物を流用しただけのアドホックなコードです。

参考になるかどうかわからないですけど、以下に貼り付けておきます。以下のコードを対象のシートのマクロとして登録します。

ちなみに、下記に表示しているコードなんですけど、WP-Syntaxというプラグインを利用しているんですが、それの対応言語を以前調べたことがあったんですが忘れてしまったんで、再度調べました。URLをはっつけておきます。

https://qbnz.com/highlighter/

上記ページの左にある「Supported Languages」というのがサポートしている言語一覧になるそうです。

補足ですけど、下記のコードはVBなんですけど、上記のサイトを見るとVB.NETはサポートしているんですが、lang属性に「VB.NET」を指定しても効かなかったので、「VB」と指定すると無事効くようになりました。長くなりましたが、切り替え可能なシート一覧のスクリプトです。

各シートにテーブル名の物理名や、MySQLならDBエンジンなどを記載していると一覧で同様に生成できそうですね。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
Option Explicit
 
Sub SheetList()
    Dim i As Integer
 
    'テーブル一覧の開始位置
    Dim x As Integer
    Dim y As Integer
    x = 4
    y = 4
 
    'テーブル一覧のシートが何枚目から始まるか
    Dim offset As Integer
    offset = 2
 
    For i = 1 To Sheets.Count - offset
        Hyperlinks.Add Anchor:=Cells(y + (i - 1), x), Address:="", SubAddress:= _
        Sheets(i + offset).Name + "!A1", TextToDisplay:=Sheets(i + offset).Name
    Next
    ActiveCell.EntireColumn.AutoFit
End Sub
 
 
Private Sub Worksheet_Activate()
    Call SheetList
End Sub

関連記事