LoginSignup
3
2

More than 3 years have passed since last update.

Excelのソートキー指定をGUIなしでできるマクロを書いた

Last updated at Posted at 2019-07-06

TL;DR

Excelのソートはキーが多いと面倒なので、GUIのソート設定を使わずにソートできるようなマクロを書いた

本文

サンプル

image.png

ソート順の設定方法

表のひとつ上の行を、ソート条件として扱う。
サンプルでは、第1キー:項目4、第2キー:項目3、第3キー:項目2(降順)。

ソート範囲の設定方法

2通りの方法を使えるようにした。

  • ソート範囲を選択
    • ヘッダ行も含めたソート範囲を選択。サンプルの画像の状態。
  • ソート範囲を任意のセルに記載して、そのセルを選択
    • サンプル画像で言うと、C3セルを選択した状態。

ソート実行

Alt+F8→sortHelper
親切設計よりも、いつでもどこでも使える汎用性を重視した。
ソート範囲をしくじってたら気づけるように、ソート範囲の最終セル(サンプルではG15)を終了後に選択するようにした

ソース

苦労したところ

ソート順を必ずしも1,2,3...の連番じゃなくてもいいようにしたかったので、ソート条件をDictionaryに格納してキーでソートしてCollectionに格納し直すという面倒なことをした。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2