• ベストアンサー

エクセルのシートについて

質問なのですがエクセルのシートを選択できるところが下にあると思うのですが、それが例えばシートが1~100まであって順番がバラバラなのを1~100までの順番通りに並べるにはどうしたらいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.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

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=915425
poo-nao
質問者

お礼

すみません…できました!ありがとうございます!!とても助かりました!

poo-nao
質問者

補足

ありがとうございます! すみませんがもうひとつ質問なのですが上記のやり方でやってみたのですが数字が4桁じゃないとできないのでしょうか?1・2・3ではなく0001・0002・0003といった感じでなければできないのでしょうか?すみませんがよろしくお願いします。

関連するQ&A

専門家に質問してみよう