【Excel】エクセルでシートの順番を一括で入れ替える(昇順等のソート:逆にする)方法 | モアイライフ(more E life)
エクセル初心者向けの関数note販売中♪

~実務で即使えるサンプル付きで徹底解説~

→エクセルで人生が大変化する第一歩♪

【Excel】エクセルでシートの順番を一括で入れ替える(昇順等のソート:逆にする)方法

Excelのスキルアップ
本サイトでは記事内に広告が含まれています

この記事では、エクセルでシートの順番を一括で入れ替える方法について解説していきます。

対応策は以下の通りです。

対応策1 VBAでシート名昇順ソート → シート名を基準とした自動並び替え。

対応策2 カスタム順序での並び替え → 複雑なシート名や特別な順序に対応。

対応策3 シート順序の逆転 → 現在の順序を単純に逆転。瞬時に実行可能。

それぞれの性質を理解したうえで、適宜使い分けするようにしてください。

それでは見ていきましょう。

 

事前準備:マクロのセキュリティ設定

VBAを実行する前に、マクロのセキュリティ設定を確認してください。

「ファイル」→「オプション」→「トラストセンター」→「トラストセンターの設定」→「マクロの設定」で、「警告を表示してすべてのマクロを無効にする」または「デジタル署名されたマクロを除き、すべてのマクロを無効にする」を選択することをお勧めします。

 

スポンサーリンク

エクセルでシートの順番を一括で入れ替える方法1【シート名を基準としたVBA】

シート名を基準にして自動的に昇順(アルファベット順・数字順・五十音順)で並べ替えたい場合におすすめです。

複数のシートが存在していて、その内容をもとに、シート名の昇順で自動並び替えを行う方法です。

「Sheet4」「Sheet1」「Sheet3」「Sheet2」の順番になっているシートを、「Sheet1」「Sheet2」「Sheet3」「Sheet4」の順に並べ替えたい場合、VBA(Visual Basic for Applications)を活用する方法を使います。

VBAとは、簡単に言えば、エクセル上で動かすプログラミングコードです。

まず、VBAの立ち上げ方から見ていきます。

ショートカットキーの「Alt + F11」を押してVBAエディタを開きます。

VBAエディタが開いたら、「挿入」→「標準モジュール」を選択し、新しいモジュールを作成します。

※ショートカットキー以外にVBAエディタを開く方法は、「開発タブ」→「Visual Basic」を開きますが、通常は、開発タブが表示されていませんので、その際は、「ファイルタブ」→「オプション」→「リボンのユーザー設定」より「開発」のチェックボックスにチェックを入れて「OK」をクリックすれば開発タブが表示されます。

 

注意:Alt+F11が動作しない場合

NVIDIA GeForce Experienceなどの他のソフトがAlt+F11を使用している場合があります。

その場合は、該当ソフトのショートカット設定を変更するか、開発タブから「Visual Basic」をクリックしてください。

標準モジュールを開くと、中は以下の通り白紙となっていますので、ここにVBAコードを書いていきます。

作成されたモジュールに、以下のVBAコードを入力します。

コードを入力したら、「F5」キーを押して実行します。

すると、「シートの昇順並び替えが完了しました。」というメッセージが表示されますので、確認出来たら完了です。

実行後、シートタブを確認すると、「Sheet1」「Sheet2」「Sheet3」「Sheet4」の順に正しく並び替えられていることが確認できます。

ただし、この方法はシート名を基準とした並び替えのため、任意の順序で並べたい場合には適用できません。その場合には、次の方法を活用してください。

 

エクセルでシートの順番を一括で入れ替える方法2【任意の順序で並べ替えたい場合】

この方法は、シート名では適切にソートできない場合や、任意の順序で並べ替えたい場合に使用します。

一旦シート名をセルに出力し、任意の順序に編集してから読み込み直す方法です。

シート名が「営業部」「総務部」「経理部」のように一般的に決まった順序が存在しない場合を想定します。

この時、部門別の特定順序で並べ替えたい場合、シート名をワークシートに出力してカスタム順序を設定する方法を使います。

特に、シート数が多い場合には有効な方法です。

まず、新しいワークシートを追加し、「SheetOrder」という名前に変更します。

次に、ショートカットキーの「Alt + F11」を押してVBAエディタを開きます。

VBAエディタが開いたら、「挿入」→「標準モジュール」を選択し、一つ目で作成したコードの下に以下のVBAコードを入力し、F5キーで実行します。

実行が完了すると、以下の表示がされます。

OKをクリックすると、各シート名がSheetOrderシートのA列に出力されます。

シート名がSheetOrderシートのA列に表示されたら、次は、このA列のデータを並び替えたい順番に入れ替えます。

たとえば、以下のようにシートの順番を変更したい場合には、このA列の順番を手動で変更してください。

並び替えが完了したら、ショートカットキーの「Alt + F11」を押してVBAエディタを開きます。

VBAエディタが開いたら、「挿入」→「標準モジュール」を選択し、先ほど作成したコードの下に以下のVBAコードを入力し、F5キーで実行します。

この方法により、複雑なシート名でも任意の順序で並び替えることができます。

※ちなみに、対応策1では自動的にシート名で並び替えましたが、対応策2と同様にカスタム順序機能を使うことで、より柔軟な並び替えが可能です。

 

エクセルでシートの順番を逆にする方法【現在の順序を反転させるVBA】

次に紹介する方法が、現在のシート順序を完全に逆順にする方法となります。

対応策1の応用版で、昇順ではなく現在の順序を反転させるVBAを使用します。

現在「Sheet1」「Sheet2」「Sheet3」「Sheet4」の順番になっているシートを、「Sheet4」「Sheet3」「Sheet2」「Sheet1」の順に逆転させたい場合、シート順序反転VBAを使用します。

一つ目の方法の逆となります。

ショートカットキーの「Alt + F11」を押してVBAエディタを開きます。

VBAエディタが開いたら、「挿入」→「標準モジュール」を選択し、先ほど作成したコードの下に以下のVBAコードを入力し、F5キーで実行します。

実行すると、以下のメッセージが表示されます。

シートを確認すると、元の順序とは完全に逆の配置が実現されます。

この方法を使用することで、複雑な計算なしに確実にシート順序を逆転させることができます。

 

VBAを使わない代替手段

RelaxTools Addinの活用

VBAを書くのが困難な場合は、「RelaxTools Addin」などのExcelアドインを使用する方法もあります。

これらのアドインには、シートの並び替え機能が組み込まれており、ボタン一つで昇順・降順の並び替えが可能です。

 

Office Scriptの活用

Microsoft 365ユーザーの場合、Office Scriptを使用してブラウザ版のExcelでシートの並び替えを行うことも可能です。

 

まとめ エクセルでシートの順番を昇順等のソート:逆にする:一括入れ替えの方法

ここまで、【Excel】エクセルでシートの順番の一括で入れ替え(昇順等のソート:逆にする)する方法【完全版】

それぞれの方法を理解し、業務に役立てていきましょう。特に多数のシートを扱うワークブックでは、これらのVBAを活用することで大幅な作業効率向上が期待できます。

コメント

スポンサーリンク
タイトルとURLをコピーしました