- ベストアンサー
エクセルのシートについて
質問なのですがエクセルのシートを選択できるところが下にあると思うのですが、それが例えばシートが1~100まであって順番がバラバラなのを1~100までの順番通りに並べるにはどうしたらいいのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
過去ログ http://oshiete1.goo.ne.jp/kotaeru.php3?q=915425 において同様の件につき O_cyan さんが回答されています。 オリジナルのコードに勝手m(__)mながら、メッセージ表示部分のみ改変させて いただき、ご紹介いたします。 Sub SheetSort() ' Dim i As Integer Dim j As Integer Dim iAnswer As VbMsgBoxResult iAnswer = MsgBox("シートの並べ換えを行います。" & Chr(10) _ & " ・[はい]をクリックすると昇順で実行" & Chr(10) _ & " ・[いいえ]をクリックすると降順で実行", _ vbYesNoCancel + vbQuestion + vbDefaultButton3, "Sort Worksheets") If iAnswer = vbCancel Then Exit Sub For i = 1 To Sheets.Count For j = 1 To Sheets.Count - 1 If iAnswer = vbYes Then If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then Sheets(j).Move After:=Sheets(j + 1) End If ElseIf iAnswer = vbNo Then If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then Sheets(j).Move After:=Sheets(j + 1) End If End If Next j Next i End Sub
お礼
すみません…できました!ありがとうございます!!とても助かりました!
補足
ありがとうございます! すみませんがもうひとつ質問なのですが上記のやり方でやってみたのですが数字が4桁じゃないとできないのでしょうか?1・2・3ではなく0001・0002・0003といった感じでなければできないのでしょうか?すみませんがよろしくお願いします。