• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シートが文字列で並び替えられて困っています。)

エクセルのシートを数値順に並び替える方法

このQ&Aのポイント
  • エクセルのシートを文字列順ではなく数値順に並び替えたい場合、VBAを使用することで実現できます。
  • 以下のVBAコードを使用することで、シートを数値順に並び替えることができます。
  • シートを並び替えたいエクセルファイルを開き、Visual Basicエディタを起動して、指定されたVBAコードを挿入・実行することでシートの並び順を変更することができます。

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

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

yamayama456様 シート名を数値化すれば良いかと思います。 注)文字だけの時は頭1文字を文字コード順に並べています。 お試しください。   Sub Sort()  Dim intLoopA As Integer  Dim intLoopB As Integer  For intLoopA = 1 To Sheets.Count - 1   For intLoopB = intLoopA + 1 To Sheets.Count    If シートNO(Sheets(intLoopA)) > シートNO(Sheets(intLoopB)) Then     Sheets(intLoopB).Move before:=Sheets(intLoopA)    End If   Next intLoopB  Next intLoopA End Sub Function シートNO(シート As Worksheet) As Long  シートNO = Val(シート.Name)  If シートNO <> 0 Then Exit Function  シートNO = Val("&H700" & Hex$(Asc(シート.Name))) End Function

yamayama456
質問者

お礼

jcctaira様 >シート名を数値化すれば良いかと思います。 ヒントと回答、ありがとうございます! ばっちり希望通りにできました!! vba初心者なので、中身の解読に時間がかかりますが、 これからしっかり見て、勉強いたします。 本当に助かりました! ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A