注目キーワード
  1. USCPA
  2. RPA
  3. Tableau

【エクセル】シートを任意の順番に並べ替えるマクロ(ダウンロード可)

ecoslymeです。

 

エクセルExcel)で、シートを自分の思い通り(任意)の順番に並べ替えたいシーンってありませんか?

 

困っている人
エクセルのシートを簡単に並び替えたいけど、やり方が分からない。。。
困っている人
シート並び替えのマクロはWebにあるけど、思ったのと違うし全然使えない。。。

 

エクセルのマクロでシートを任意の順に並び替えたいけど、Webに上がっている記事の全て、下準備が大変で使えないとか複雑すぎて全ユーザーが利用できる物ではないという状況でした。

 

そこでこの記事では、手持ちのエクセルにシート名を順番に記載するだけで、マクロ実行先のエクセルのシートを簡単に並べ替えできるマクロを私が作成したので、ご紹介させて頂きます。

 

マクロエクセルをダウンロードしたらそのまますぐ使えます

 

マクロの内容に関しては詳細の説明を省きますので、予めご了承ください。

 

※記事の最後の方でエクセルマクロのダウンロードができます

ベクター 航海

元データと結果

(シート順を記載したエクセル(ダウンロード可))

 

(マクロ実行先エクセル)

(マクロ実行先エクセル)

 

エクセルシート並べ替えマクロの使用方法

それでは、エクセルシートを任意の順番に並べ替えるマクロ使用方法についてご紹介します。

 

  • エクセルシート並べ替えマクロ(sheet-arrange-macro)の使用方法

①:この記事の下にある、「【ダウンロード】sheet-arrange-macro」をクリックして、マクロファイルをダウンロードしてください。

②:ダウンロードしたエクセルに、並べ替えたい順番でシート名を記入して下さい

③:並べ替えたいシートを持つマクロ実行先のエクセルブックを開いて下さい

④:マクロ実行先のエクセルブックで「開発」タブから、マクロ「’sheet-arrange-macro.xlsm’!シートを並べ替え」を実行して下さい

 

・ダウンロードしたマクロファイルのファイル名を変更しないで下さい。
・2回ダウンロードすると(1)」等の文字がついてしまう可能性があるので注意して下さい。
(マクロが使えなくなるので、ダウンロードファイルを一旦削除してから再ダウンロードして下さい)

 

使い方はかなりシンプルだと分かると思います。

 

分かりづらそうな部分について、これから詳細説明します。

 

②:ダウンロードしたエクセルに、並べ替えたい順番でシート名を記入して下さい

①でダウンロードしたマクロファイルに、並べ替えたいシートの順番をA2セルから順に記入して下さい。

 

以下、サンプルシート(【ダウンロード】sample-sheet-arrange)を例に説明します。

 

A2セルから、11B0、15B5、1135、1230の順番でシート名を記載しています。

 

 

③:並べ替えたいシートを持つマクロ実行先のエクセルブックを開いて下さい

サンプルシートは、左から1135、1230、11B0、1150の順番に並んでおりますが、以下の注意点があります。

 

<ポイント>

・15B5のシートがありません。(並べ替えマクロで指定しているシート名)

・1150のシートが余計です。(並べ替えマクロには無いシート名)

 

④:マクロ実行先のエクセルブックで「開発」タブから、マクロ「’sheet-arrange-macro.xlsm’!シートを並べ替え」を実行して下さい

サンプルシートのエクセルで、開発タブからマクロを実行して下さい。

 

「開発」タブが表示されていない方は、この記事を見て開発タブを表示させるようにして下さい。

 

マクロを実行します。

 

結果、以下のようにシートが指定した任意のシート名の順に並び変わってくれます。

 

シート並べ替えマクロの特徴

この記事で紹介しているシート並べ替えマクロの特徴についてご紹介します。

 

マクロ実行先のシートに指定したシート名がなくても、マクロ実行元のマクロエクセルにシート名が余分(不足)に書かれていても、このマクロは起動します。

 

つまり、実行元エクセル、実行先エクセルのいずれに過不足があってもマクロは起動します。

 

表で関係を簡単にまとめると以下のようになります。

<注意事項>実行先エクセルにシート名が
有る無い
「シート並べ替え」にシート名が有る・問題ありません。・スキップされます。
無い・実行先エクセルブック内の左側に並びます
・「シート並べ替え」の一番最初のシート名の左側に並びます。

 

かなり使い勝手の良いマクロエクセルになっていると思っています。

 

シート並べ替えマクロのコード

参考に、シート並べ替えマクロのコードを載せておきます。

 

  • シート並べ替えマクロのコード

Sub シートを並べ替え()
Dim wb As Workbook
Set wb = ActiveWorkbook

Dim ws As Worksheet
Set ws = Workbooks(“sheet-arrange-macro.xlsm”).Worksheets(“シート並べ替えマクロ”)
ws.Copy Before:=wb.Worksheets(1)

Dim p()    As String
Dim i       As Integer
Dim s       As String

Sheets(“シート並べ替えマクロ”).Select
Range(“A2”).Select

i = 0
ReDim p(i)

Do
s = ActiveCell.Offset(i, 0).Value
If (s = “”) Then
Exit Do
End If

ReDim Preserve p(i)
p(i) = s
i = i + 1
Loop

i = 0

Do
If (i > UBound(p)) Then
Exit Do
End If

On Error Resume Next

Sheets(p(i)).Move After:=Sheets(Sheets.Count)
i = i + 1

Loop

Application.DisplayAlerts = False
Sheets(“シート並べ替えマクロ”).Delete
Application.DisplayAlerts = True

End Sub

 

エクセルシート並べ替えマクロのダウンロード

エクセルシート並べ替えマクロのダウンロードをしたい方は、以下のリンクをクリックしてください。

 

エクセルでダウンロードが可能です。

 

<マクロ>

【ダウンロード】sheet-arrange-macro

 

<テスト用サンプル>

【ダウンロード】sample-sheet-arrange

 

ダウンロード後にマクロファイルを開いたら、「マクロを有効にする」をクリックすること。

 

最後に

ベクター 散歩

いかがでしたでしょうか。

 

例えば、毎月会社のシステムからダウンロードしてくるエクセルブックがあり、シートが乱雑(アルファベット順など)に並んでいるとします。

 

このマクロエクセルを利用すれば、簡単に任意の順番に並べ替えることができます。

 

Web上で同様のマクロを探しましたが、あと一歩というところまでの記事はあるのですが、核心をついた便利なエクセルがありませんでした。

 

そのため頭を振り絞り、知らない情報を自分なりにまとめて形にした感じです。

 

この記事が少しでも皆さんのお役に立てれば幸いです。

世界最大級のオンライン学習サイトUdemy

エクセルスキルアップ!!

Udemyは、受講者数4,000万人の世界最大級オンライン学習プラットフォームです。

 

<Udemy内 講義の一例>

【初心者から上級者まで】1日で学べるエクセルの教科書 マスターコース

https://www.udemy.com/course/excel-start/

Excel VBA[第1弾](超入門)エクセルが自動で仕事する!マクロの魔法 文系・非IT職もできるプログラミング

https://www.udemy.com/course/excel23vba/

✔︎ まわりに内緒でエクセル技術力を大幅アップ!

  ⇨無駄な作業を早く終わらせて残業せずに帰れる!!

✔︎ E-Learningでいつでも、どこでも学べる!

  ⇨在宅ワーク中などに閲覧し、行動格差を広げよう!!

✔︎ 人気コース、評価が一目で分かる!

  ⇨コスパの高いコースがすぐ選べる!!

 

※「検索」で学びたいコースを入力してください