![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3
- 回答日時:
目次のシートを一番右に持ってきておく。
B2からB32まで31枚+目次一枚=34枚として
Sub test01()
N = ActiveWorkbook.Worksheets.Count
na = Worksheets("sheet7").Cells(2, "B")
Sheets(na).Move before:=Sheets(1)
For i = 3 To N - 1
na = Worksheets("sheet7").Cells(i, "B")
Sheets(na).Move after:=Sheets(i - 1)
Next i
End Sub
ありがとうございました。
皆様のお教えをもとに下記のようなVBAがしあがりました。
目次と各ページの間にリンクも貼れました。
ありがとうございました。
Sub シート並べ替えとリンク()
Dim i As Long
With Sheets("目次")
.Hyperlinks.Delete
.Move before:=Sheets(1)
For i = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
Set ws = Sheets(.Cells(i, 2).Value)
ws.Move after:=Sheets(i - 1)
On Error GoTo MSG
ws.Cells(1, 1).Value = "目次"
ws.Hyperlinks.Add Anchor:=ws.Cells(1, 1), Address:="", SubAddress:=Sheets(1).Name & "!A1"
.Hyperlinks.Add Anchor:=.Cells(i, 2), Address:="", SubAddress:=Sheets(i).Name & "!A1"
Next i
.Activate
Exit Sub
MSG: MsgBox .Cells(i, 2).Value & "シートが見当たりません。"
End With
End Sub
No.2
- 回答日時:
こんなのもあります。
目次シートを最初に持ってきて、後ろに並べ替えます。
Sub Sheet_Sort()
Dim i As Integer, ws As Worksheet, wsI As Worksheet
Set wsI = Sheets("目次")
For i = wsI.Range("B65536").End(xlUp).Row To 2 Step -1
Sheets(wsI.Range("B" & i).Value).Move after:=wsI
Next
Sheets(1).Select
Set wsI = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) vba シートの並び替え 1 2023/04/19 13:44
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- Excel(エクセル) 【エクセル】並び替えからの並び替え方法 7 2022/07/22 09:46
- その他(Microsoft Office) エクセルで串刺ししたシートの並べ替えをしたいです 4 2023/02/14 11:59
- Excel(エクセル) 棚卸表の前月比の関数等あれば教えてください 2 2023/05/02 18:34
- Excel(エクセル) オフィスをLibreOfficeからmicrosoft 2013に変えました。 1 2022/05/09 00:28
- その他(Microsoft Office) 逆順 3 2023/08/24 09:30
- Excel(エクセル) Excel 郵便番号順に並び変えたい 同じ番号が複数あるとき 4 2022/04/28 18:35
- Excel(エクセル) Excel複数シートから日付と文字を取り出して日付順に並べたいです 6 2022/06/06 13:23
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
前の(左隣の)シートを連続参...
-
Excelで同じシートのコピーを一...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルVBAでパスの¥マークに...
-
VBAでシートコピー後、シート名...
-
Excelのシートを、まとめて表示...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
Accessのスプレッドシートエク...
-
EXCEL:同じセルへどんどん足し...
-
エクセルの複数シートの保護を...
-
エクセルで前のシートを連続参...
-
エクセルで前シートを参照して...
-
エクセル計算式解説
-
至急お願いします。エクセルシ...
-
Excel、同じフォルダ内のExcel...
-
複数シートの特定の位置に連番...
-
EXCEL マクロで 同じフォルダ内...
-
excelでシート毎の最終更新日を...
-
シートの保護のあとセルの列、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
Excel、同じフォルダ内のExcel...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
複数シートの特定の位置に連番...
-
Accessのスプレッドシートエク...
-
シートの保護のあとセルの列、...
-
EXCELで同一フォーマットのシー...
-
特定のシートの削除を禁止した...
-
Excelのシートを、まとめて表示...
-
エクセルで複数設定したハイパーリンク先...
おすすめ情報