質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

2回答

764閲覧

Excel マクロ VBA 並び替えについての質問

smorgas

総合スコア1

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2021/08/02 07:36

Excelの並び替えを行い、上から順に処理を行うマクロがあります。

例えば、以下のような表があります。(E列昇順、B列昇順)

|A列|B列|C列|D列|E列|
|:--|:--:|--:|
|1|1-1-1|a|c|1-1-2|
|2|1-1-1|a|c|1-1-2|
|3|1-1-2|b|c|1-1-2|
|4|1-1-2|b|c|1-1-2|
|5|1-1-2|b|c|1-1-2|
|6|1-1-3|c|c|1-1-2|
|7|1-1-3|c|c|1-1-2|
|8|1-1-3|c|c|1-1-2|

やりたいこととしては、B列とE列が同じものを先頭に表示し、その後にB列の昇順になるように並び替えを行いたいです。上記表であれば以下のように並び替えられます。

|A列|B列|C列|D列|E列|
|:--|:--:|--:|
|3|1-1-2|b|c|1-1-2|
|4|1-1-2|b|c|1-1-2|
|5|1-1-2|b|c|1-1-2|
|1|1-1-1|a|c|1-1-2|
|2|1-1-1|a|c|1-1-2|
|6|1-1-3|c|c|1-1-2|
|7|1-1-3|c|c|1-1-2|
|8|1-1-3|c|c|1-1-2|

これを実現するためのよいVBAコードをご教示いただけませんでしょうか。

Sortのみでは実現できないと思いまして、ご相談させていただく次第です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/08/02 07:44

エクセルの機能ではなくVBAで実現したい理由は何でしょうか?
smorgas

2021/08/02 07:56

一連のマクロ処理の中で並び順変更とその後の処理を行いたいためVBAと記載しております。 エクセル機能でできるのであればそのやりかたでもよいのですが、E昇順、B昇順とすると先述の並びになってしまうので、なにかいい方法がないものかと悩んでおります。
guest

回答2

0

ベストアンサー

エクセルでのやり方です。
※VBA内で同様の処理をすれば簡単かと思います。

元の表
イメージ説明

表の横に1列挿入して計算式を入力する。(=EXACT(B2,E2))
イメージ説明

下記条件で表を並べ替える。
イメージ説明

結果です。F列を削除すれば完成です。
イメージ説明

投稿2021/08/02 08:11

meg_

総合スコア10607

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

exactを利用して実現できそうです。お知恵ありがとうございました。

投稿2021/08/02 22:55

smorgas

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問