VBAでExcelの表を並べ替える(4つの方法)

  • これを共有
Hugh West

実装 VBAマクロ は、Excelであらゆる操作を実行するための最も効果的で、迅速かつ安全な方法です。 この記事では、次の方法を紹介します。 テーブルを並べ替える をエクセルで表示します。 ブイビーエー .

ワークブックダウンロード

練習用Excelワークブックは、こちらから無料でダウンロードできます。

VBAでテーブルをソートする.xlsm

Excelで表を並べ替えるVBAを導入する前に知っておきたいこと

での作業中に頻繁に使用しなければならないパラメータがいくつかあります。 ソート ブイビーエー そこで、ここでは、コードを書きながら慣れていくために、いくつかのパラメータについて説明します。

パラメータ 必須/オプション データ型 商品説明
キー オプション バリアント 値をソートする範囲または列を指定する。
ご注文 オプション XlSortOrder 並べ替えの順番を指定する。
  • xlAscending = 昇順に並べ替えること。
  • xlDescending = 降順に並べ替えること。
ヘッダー オプション XlYesNoGuess 最初の行にヘッダを含むか否かを指定する。
  • xlNo = カラムにヘッダーがない場合; デフォルト値。
  • xlYes = カラムにヘッダーがある場合。
  • xlGuess = ヘッダーをExcelに決定させること。

Excelで表を並べ替えるVBAの実装方法4選

このセクションでは、以下の方法を紹介します。 エクセル表の並べ替え してみると 値、色、アイコンについて 複数カラム をもって ブイビーエー のコードになります。

1.Excelで表を値で並べ替えるVBAを埋め込む

次の例を考えてみましょう。 このテーブルを値で並べ替える に存在する。 マーク 列を降順で表示します。

ステップス

  • プレス Alt + F11 キーボードから、またはタブで 開発者 -> Visual Basic を開く Visual Basic エディター .

  • ポップアップコードウィンドウで、メニューバーから インサート -> モジュール .

  • 以下のコードをコピーして、コードウィンドウに貼り付けてください。
 Sub SortTableValue() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTBL") Set iColumn = Range("SortTBL[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Addedキー: =iColumn, SortOn:=xlSortOnValues, Order:=xlDescending .Header = xlYes .Apply End With End Sub 

これであなたのコードは実行できるようになりました。

これです。

  • ソートTBL → テーブル名を指定。
  • SortTBL[マークス]の場合 -> ソートするテーブルのカラム名を指定します。
  • キー1:=iColumn → テーブルのどの列でソートするかをコードに知らせるために、列の範囲を指定した。
  • オーダー1:=xlDescending → オーダーを指定する xlDescending で降順に並べ、昇順に並べたい場合は、次のように記述します。 xlAscending ではなく
  • ヘッダー:= xlYes → このテーブルのカラムはヘッダを持つので、それを xlYes オプションを使用します。

  • プレス F5 をキーボードで入力するか、メニューバーから Run -> Run Sub/UserForm をクリックするだけでもOKです。 スモールプレイアイコン をクリックすると、マクロが実行されます。

テーブルのカラムが次のようになっていることがわかります。 降順に並べ替え .

続きを読む: Excelでデータを値で並べ替える方法(簡単な5つの方法)

2.複数列のテーブルをソートするVBAマクロを挿入する

も可能です。 複数列のテーブルをソートする をエクセルで表示します。 ブイビーエー マクロを使用します。

上の表から、列をソートしてみます。 名称 部署名 を昇順で表示します。

ステップス

  • 先ほどと同じように、開く Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub SortTable() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("TableValue") Set iColumn1 = Range("TableValue[Name]") Set iColumn2 = Range("TableValue[Department]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn1, Order:=xlAscending .SortFields.Add Key:=iColumn2, Order:=xlAscending.Header = xlYes .Apply End With End Sub 

これであなたのコードは実行できるようになりました。

これです。

  • テーブルバリュー → テーブル名を指定。
  • TableValue[Name](テーブルバリュー)。 -> ソートするテーブルの最初のカラム名を指定します。
  • TableValue[Department](テーブルバリュー)。 -> ソートするテーブルの2番目の列名を指定。
  • キー1:=iColumn1 → テーブルの最初の列をソートする必要があることをコードに知らせるために、列の範囲を指定しました。
  • キー1:=iColumn2 → テーブルの2列目をソートする必要があることをコードに知らせるために、列の範囲を指定した。
  • オーダー1:=xlAscending → オーダーを指定する xlAscending で降順に並べたい場合は、次のように記述します。 xlDescending ではなく
  • ヘッダー:= xlYes → このテーブルのカラムにはヘッダがあるので、それを xlYes オプションを使用します。

  • 実行 このコードで、両方の テーブルの列の並べ替え を昇順で表示します。

続きを読む Excelで複数の列を自動で並べ替える方法(3つの方法)

類似の読み物

  • エクセルでユニークリストを並べ替える方法(便利な10個の方法)
  • Excel VBAで配列をソートする(昇順・降順とも)
  • Excelでデータを並べ替え、フィルタリングする方法(完全ガイドブック)
  • エクセル データ変更時の自動並べ替え(9例)
  • Excelのランダムソート(数式+VBA)

3.Excelでセルの色で表を並べ替えるマクロの実装

も可能です。 テーブルをセルの色でソートする が含まれていること。

上の表を例に、この表が持つ色に基づいてソートする方法を紹介します。

ステップス

  • 先に示したように、オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、次のコードをコピーして貼り付けます。
 Sub SortTableColor() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTable") Set iColumn = Range("SortTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(248, 203, 173) .SortFields.Add(Key:=iColumn.SortObject) .色指定... (Note:1) .iTableColor.Add(キー指定).... (Note: 0 ) .SortObjects(Note: 0 ) .ShortOnColumn (Note: 0 ) ... (Key: 0 )Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(255, 217, 102) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(198, 224, 180) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(180, 198, 231) .Header=xlYes .Apply End With End Sub 

これであなたのコードは実行できるようになりました。

ここでは アールジービー 私たちが提供したコードは、それを見つけるか、または他の アールジービー を、以下のgifにしたがって入力してください。

  • をクリックするだけです。 色セル .
  • での ホーム タブをクリックします。 塗りつぶしの色の横にある矢印 を選択し その他の色 を見ることができます。 アールジービー のコードが表示されます。 カスタム のタブが表示されます。 カラーズ ポップアップボックス

  • 実行 このコードを実行すると、あなたのテーブルは 色別 .

続きを読む エクセルで色で並べ替える方法(4つの基準)

4.VBAを適用してExcelの表をアイコンで並べ替える

データセットの表には、見やすくするためにアイコンがついているとします。 このアイコンを使って アイコンをベースにしたテーブル をエクセルで表示します。 ブイビーエー マクロを使用します。

上のデータセットを見てみよう。 ここでは、表の数値の横にアイコンがついている。 マークス そのため、どの生徒の成績が良いのか、悪いのか、平均的なのかを把握することができます。

なお、セル内にアイコンを挿入する方法がわからない場合は、単純に 条件付き書式設定 という機能をExcelに搭載しました。

  • 選択 は、範囲または列全体です。
  • 次のページへ 条件付き書式 -> アイコンセット そして、オプションから好きなアイコンセットを選びます。

へのステップ アイコンに基づいてテーブルを並べ替える を以下に示します。

ステップス

  • オープン Visual Basic エディター から デベロッパー タブと インサート a モジュール をコードウィンドウに表示します。
  • コードウィンドウで、以下のコードをコピーして貼り付けます。
 Sub SortTableIcon() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("IconTable") Set iColumn = Range("IconTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows) .Item(1) .SortFields.Add(Key:=iColumn.ListObject)Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(2)   .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(3)   .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(4)   .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(5) .Header = xlYes .Apply End With End Sub 

これであなたのコードは実行できるようになりました。

これです。

  • xl5アローズ -> を選びました。 五矢 のオプションから選択します。 条件付き書式設定 .
  • 項目(1) ->指定された。 第一 のような矢印のアイコンです。
  • 項目(2) ->指定された。 第二 のような矢印のアイコンです。
  • 項目(3) ->指定された。 三番 のような矢印のアイコンです。
  • 項目(4) ->指定された。 第四 のような矢印のアイコンです。
  • 項目(5) ->指定された。 五番目 のような矢印のアイコンです。

  • 実行 このコードを実行すると、テーブルが アイコンを基準にソートされた .

続きを読む: Excelで表を自動で並べ替える方法(5つの方法)

結論

この記事では、次の方法を紹介しました。 テーブルを並べ替える エクセルで ブイビーエー この記事が皆様のお役に立てれば幸いです。 また、ご質問等ございましたら、お気軽にお問い合わせください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。