![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
Excelのシートを、まとめて表示...
-
別シート参照のセルをシート毎...
-
前の(左隣の)シートを連続参...
-
Excelで同じシートのコピーを一...
-
エクセルVBAでパスの¥マークに...
-
エクセルで前シートを参照して...
-
EXCEL:同じセルへどんどん足し...
-
エクセル:ブックを開くとき、...
-
シートの保護のあとセルの列、...
-
VBAでシートコピー後、シート名...
-
エクセルで前のシートを連続参...
-
エクセルで毎回1枚目のシートを...
-
MIDで指定するセル番号を、別の...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルでファイルを開いたと...
-
シート名が変わる場合のVBAの設...
-
Excel、同じフォルダ内のExcel...
-
既存の複数のシート名を一括変...
-
特定のシートの削除を禁止した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
前の(左隣の)シートを連続参...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
Excelで同じシートのコピーを一...
-
Excelのシートを、まとめて表示...
-
EXCELで1ヶ月分の連続した日付...
-
Excel、同じフォルダ内のExcel...
-
Accessのスプレッドシートエク...
-
シートの保護のあとセルの列、...
-
複数シートの特定の位置に連番...
-
特定のシートの削除を禁止した...
-
エクセル 計算式も入っていない...
-
複数シートの色付きセルがある...
-
EXCELで同一フォーマットのシー...
-
excelでシート毎の最終更新日を...
おすすめ情報