目次
実装 VBAマクロ は、Excelであらゆる操作を実行するための最も効果的で、迅速かつ安全な方法です。 この記事では、次の方法を紹介します。 テーブルを並べ替える をエクセルで表示します。 ブイビーエー .
ワークブックダウンロード
練習用Excelワークブックは、こちらから無料でダウンロードできます。
VBAでテーブルをソートする.xlsm
Excelで表を並べ替えるVBAを導入する前に知っておきたいこと
での作業中に頻繁に使用しなければならないパラメータがいくつかあります。 ソート 方 ブイビーエー そこで、ここでは、コードを書きながら慣れていくために、いくつかのパラメータについて説明します。
パラメータ | 必須/オプション | データ型 | 商品説明 |
---|---|---|---|
キー | オプション | バリアント | 値をソートする範囲または列を指定する。 |
ご注文 | オプション | XlSortOrder | 並べ替えの順番を指定する。
|
ヘッダー | オプション | XlYesNoGuess | 最初の行にヘッダを含むか否かを指定する。
|
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つの方法)
結論
この記事では、次の方法を紹介しました。 テーブルを並べ替える エクセルで ブイビーエー この記事が皆様のお役に立てれば幸いです。 また、ご質問等ございましたら、お気軽にお問い合わせください。