ロゴ
ロゴ
トップ
サービス
実績紹介お知らせブログ資料ダウンロードお問い合わせ
この記事はVBAを使ったことない、初心者向けにVBAの使い方を画像を多めに解説します。
中身を知らなくてもコピペで使える様にしています。
※Microsoft® Excel for Mac バージョン16.93.1です。

VBAでソートする

やりたいこと

VBAを使って並べ替えしたい。
ここにとある表があります。
この表は並べ替えされていません。出勤日の昇順、名前の降順で並べ替えしたいと思います。VBAを使って重複しているデータを削除したい。

以下の記事の中でVBAを使える設定、コードを貼り付ける手順を動画付きで解説しています。
初心者の方はこちらをお先にご覧ください。VBA
VBAの事前準備とコードの貼り付け方
こちらから完成後のEXCELファイルをダウンロードできます。EXCELファイル※EXCELを開くと以下のようなメッセージが表示されます。VBAがあるためです。「マクロを有効にする」をクリックしてください。VBA

手順

VBA
1
まずEXCELを新規作成してください。
シートの名前は「Sheet1」としてください。
VBA
2
VBEditorを開いて以下のコードを貼り付けてください。
1Sub ソート()
2    With Sheets("Sheet1")
3        '並べ替え 出勤日の昇順、名前の降順
4        .Range("A1").Sort key1:=.Range("A1"), order1:=xlAscending, _
5            key2:=.Range("B1"), order2:=xlAscending, Header:=xlYes
6    End With
7End Sub
8
9

カスタマイズ方法

閉じる

「Sheet1」を違う名前にしたい
2行目の「”Sheet1”」の部分を違う名前にしてください。
2    With Sheets("変えたいシート名")
ソート順を降順にしたい
4、5行目の「order1:=xlAscending」を「order1:=xlDescending」に変えてください。
「xlAscending」が昇順、「xlDescending」が降順です。
4        .Range("A1").Sort key1:=.Range("A1"), order1:=xlDescending, _
5            key2:=.Range("B1"), order2:=xlDescending, Header:=xlYes
並べ替えを出勤日(昇順)、名前(昇順)、誕生日(降順)にしたい
4、5行目を以下のように変えてください。
key1が並べ替え項目(出勤日)order1がらkey1の並べ替え指定(昇順)、
key2が並べ替え項目(名前)order2がらkey2の並べ替え指定(昇順)、
key3が並べ替え項目(誕生日)order3がらkey3の並べ替え指定(降順)です。
「xlAscending」が昇順、「xlDescending」が降順です。
4        .Range("A1").Sort key1:=.Range("A1"), order1:=xlAscending, _
5            key2:=.Range("B1"), order2:=xlAscending, _
6            key3:=.Range("E1"), order3:=xlDescending, Header:=xlYes
1行目が並べ替えできていない?
以下のような見出しがない表の場合は、Header:=xlNoとしてください。
VBA
4        .Range("A1").Sort key1:=.Range("A1"), order1:=xlAscending, _
5            key2:=.Range("B1"), order2:=xlAscending, Header:=xlNo
VBA
3
①先ほどのVisual Basic Editorに戻り、貼り付けたテキストの中のどこでもいいので、 クリック。
(ここでは真ん中らへんをクリック)
②画面上部の実行マーク()をクリック。
VBA
4
出勤日と名前でソートされました。
VBA
※
このEXCELを保存するときに、ファイル名.xlsxだと、左のメッセージが表示されます。
「はい」をクリックすると、先ほど作成したVBAは破棄され保存されます。特にVBAが必要なければこちらで。
もし、VBAを保存したい場合は、「いいえ」をクリックして、ファイル名.xlsmとして保存してください。VBA
戻る
この作業、生成AIエージェントなら“コピペすら不要”です
フォルダ整理・請求書の読み取り・グラフ作成といった毎回やる面倒な作業は、 いまはコードを書かなくても「日本語でお願いするだけ」でAIが代わりにやってくれます。 実際の画面つきで解説した記事をぜひご覧ください。
AIエージェントの実演記事を読む →
いのうえ
Webエンジニア歴18年。
React|Next.js|TailwindCSS|Java|VBA|PHP
読書好き・猫好き
ご利用にあたっての注意事項
動作環境について
本サンプルコードは、特定のExcelバージョンで動作確認を行っています。他の環境では動作を保証できません。
バックアップを推奨
実行前に必ずデータのバックアップを行ってください。予期しない不具合やデータ損失が発生する可能性があります。
セキュリティについて
マクロの実行にはセキュリティリスクが伴います。信頼できる環境でのみ使用し、不審なコードの混在に注意してください。
改変・再利用について
本コードの改変・再利用は自由ですが、自己責任でお願いします。改変後の動作保証はできません。
免責事項
本コードの利用によるいかなる損害や不具合についても、一切の責任を負いかねます。
MIMUMIMU
株式会社mimu
代表
森田幸輔
設立
2023年3月
事業
ソフトウェア事業
トップサービス実績紹介お知らせブログ資料ダウンロードお問い合わせ
Copyright @mimu. Inc All rights reserved.
プライバシーポリシー
特定商取引法に基づく表記