
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで条件によりフォントサイズ...
-
EXCEL:同じセルへどんどん足し...
-
エクセルで前シートを参照して...
-
シートを追加・名前を次月に変...
-
Excelシートでセル移動の設定を...
-
エクセルで複数設定したハイパーリンク先...
-
別シート参照のセルをシート毎...
-
エクセルでシート数が増加する...
-
Excelのシートを、まとめて表示...
-
テキストボックス内の文字の一...
-
日報をエクセルで作成したいの...
-
エクセルでファイルを開いたと...
-
前の(左隣の)シートを連続参...
-
シート番号からシート名を取得する
-
リンク貼り付けのエラーを無視...
-
【Excel】 左のシートの特定セ...
-
VBA シートをコピーした時、同...
-
Excelでタイムの集計、順位を自...
-
串刺し幾何平均で、シート名を...
-
EXCELファイルのファイルサイズ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
別シート参照のセルをシート毎...
-
前の(左隣の)シートを連続参...
-
エクセルでファイルを開いたと...
-
エクセル 計算式も入っていない...
-
EXCEL:同じセルへどんどん足し...
-
エクセルで前シートを参照して...
-
Excelのシートを、まとめて表示...
-
Excel、同じフォルダ内のExcel...
-
複数シートの特定の位置に連番...
-
Excelで金銭出納帳。繰越残高を...
-
特定のシートの削除を禁止した...
-
エクセルで複数設定したハイパーリンク先...
-
EXCELで1ヶ月分の連続した日付...
-
VBAで条件によりフォントサイズ...
-
シートの保護のあとセルの列、...
-
至急お願いします。エクセルシ...
-
VBAでシートコピー後、シート名...
-
エクセルで毎回1枚目のシートを...
-
エクセルで前のシートを連続参...
おすすめ情報