こんばんは〜
仕事や家庭でExcelを使う機会があるかと思いますが、
Excelファイル中の全シート名を一覧に出来たら楽だな〜
と思ったことはありませんか?
自分はよくあります。
特に仕事で・・・・
相手から送られてきたExcelファイルのシートが100近くなんてこともちらほら。
するとこのマクロの出番です。
以下のVBA記述を個人用マクロブックに保存することで
どのExcelファイルを開いてもシート名の一覧とそのシートのセルA1への
ハイパーリンクが作成されます。
ちなみに、今の記述では「シート一覧」というシートが存在するとエラーで終了します。
その場合は、「NS=・・・」の記述の「シート一覧」を別な名前に変更しておくか
事前にそのシートを削除orリネームしておく必要があります。
#そのうち改善したものをアップしますね。
Sub シート名取得()
'
' Macro1 Macro
'
'
Dim cellPosX As Integer
Dim ListWS As Worksheet
Dim mySCnt As Integer
NS = "シート一覧"
Set ListWS = Worksheets.Add()
ListWS.Name = NS
mySCnt = ThisWorkbook.Sheets.Count
For Each MySh In Sheets
mySN = MySh.Name
cellPosX = mySCnt + 1
ListWS.Cells(cellPosX, 2).Value = mySN
ActiveSheet.Hyperlinks.Add _
Anchor:=Cells(cellPosX, 2), _
Address:="", _
SubAddress:="'" & mySN & "'" & "!A1", _
TextToDisplay:=mySN
mySCnt = mySCnt + 1
Next
End Sub
--
以上
今日はここまで
ほな、さいなら〜