エクセルVBA 並び替えマクロツールのデータ切り出しと並び替えリセットの機能を使ってみます。
並び替えを行う設定に注目しがちですが、その後の処理についても考えておきましょう。
こんにちは じゅんぱ店長 (@junpa33) です。
データの並び替えマクロツールで準備してある、並び替えたセルデータの「切り出し機能」と素早く並び替えを再実行できる「リスタート機能」をためしてみます。
この機能を利用するには、多少の条件制約がありますが、使って便利な機能になっています。
並び替えマクロ 記事階層
- マクロツール使い方と無料ダウンロード
- マクロツール作成手順
- 並び替えマクロを作成するVBAコードの概要
- 条件設定ボタンとボックスを配置するユーザーフォームのデザイン
- UserFormに設置したコントロールのイベントコードを記述する
- 別シートにまたぐのは可能?並び替えのコード設計
- 条件入力用のユーザーフォーム 表示・非表示と値の保存
- セル範囲内の空白行や結合にも対応したSortオブジェクトVBA
- 複数列に自由にキーを設定するVBA。Sort条件設定のコード
- 複数の背景色キーを指定できるVBAコードの組み立て
- 種類の違うKeyの同時指定はどちらが優先?VBAでは記述順
- 共有できない問題も解決!ユーザー設定リストの外部ファイル導入法
- 複数条件をまとめるプロシージャーを作成する
- 結果の切り出し機能 必要範囲をコピーし別シートに張付け
- 簡単に並びを解除するリスタート機能。再実行も即可能になる
- 並び替えマクロツール作成の全コード集
- 並び替えマクロを作成するVBAコードの概要
- 実際に使ってみる
コンテンツ
並び替えセル値の切り出し機能を使う
よくあるパターンで、セル値を並び替えて資料化できるデータに変えたものの、これをコピペして表に作り上げて・・・、
と、並び替え後の資料作成とか、行う作業もたくさん控えています。
この、「それから・・・」の部分でまず最初の並び替えデータの切り出しについて、並び替えた部分を「安全地帯にあるエクセルシート」にコピーペーストできる機能が、エクセル並び替えマクロツールには付属しています。
切り出す並び替えデータ表について
使用するデータ表は、先回並び替えを行なった結果の表を続けて利用していきます。
(このデータ表は、ユーザー設定リストを利用して並び替えを行ないました。)
地区拠点別区分けで引いた罫線は今回は関係ありませんので削除しておきます。
切り出し機能の使い方
① 最大切り出し行数をチェックする
切り出し行数は、並び替えを行なった最大の行数まで可能です。
ラベルの「ここをクリックすると切り出し可能な最大行数を表示します。」の部分をクリックすると最大行数が表示されます。
このサンプルのケースでは、切り出し可能数が「98行」となっています。が、データ表の行数が85行までしかありません。
これは、その前の並び替えのデータの範囲の設定では、何行かの空白行が含まれていたためです。(実際に並び替えは98行で行われたということです。)
② 切り出し行数を指定する
テキストボックスの「切り出し行数」に切り出したい行番号を指定します。
このサンプルでは、必要なデータ情報は49行目までですので、「49」と指定します。
③ 切り出し実行ボタンをクリック
切り出し実行ボタンをクリックすることで切り出しが行われますが、
その切り出される先が「切り出し」シートに行われます。
初めての切り出しが実行される場合は、新たにこのBook上に「切り出し」シートが作成されます。
すでに、「切り出し」シートが存在する場合は、そちらに切り出したデータが貼り付けされます。
データの貼り付けは、「切り出し」シートの上書きではありません。また、もし先に切り出したデータがあるのならその下の行に貼り付けが行われます。
貼り付けに際しては、はじめに、先頭2行と最左A列を空けて張り付けられます。
この張り付けられたデータを加工するとか、更に転記するとか、これ以外のデータ表のデータを破損させることなく行うことが出来ます。
リスタート(並び替えリセット)機能を使う
一度並び替えを行なったデータ表を元の並びに戻すことは、結構(かなり)大変なことも多くあります。
その並び替え戻しを、条件付きですが、「1クリック」で元に戻してしまう機能が付属しています。
並び替えリセットするサンプルデータ表について
サンプルとして切り出し機能の場合と同じデータ表を利用します。
リスタート機能の使い方
リスタート機能を利用するためには、少しの条件がそろっている必要があります。
「リセット」とは、元々、A列基準の昇順で並んでいたデータ表を、再びそのようにデータを復帰させることです。
A列にID番号などの各データを識別して並び替えることの出来る数値があること。
A1セルが含まれるひと塊のデータ部分を並び替えリセットの範囲とします。
セルA1が含まれるデータの範囲(空白行、空白列で区切られるところまで)をA1列をキーとして昇順で並び替え戻しを行います。
(このリスタート機能は、ボタン1クリックで並び替えリセットさせたいというテーマで作成しています。)
① 並び替えリセット範囲の先頭行の状態を選択する
このサンプルでの並び替えリセットの範囲の先頭行(1行目)は見出し行になりますので、
「先頭は見出し行」をクリックします。
② リスタート(並び替えリセット)を実行する
リスタート実行ボタンをクリックします。
A列昇順でデータシートが並び替え戻しされました。
空白行については、空白自身の順位付けが不可能なので、並び替えには反映されません。
必要に応じて、手動で空白行を挿入することになります。
並び替えを行なって、そのタイミングで並び替え戻しを行なわなかった場合に、並び替え戻しをするのに必要な変数値が、メモリから消えている場合があります。
その場合は次のようなメッセージが表示されます。
このメッセージが表示されたときは「並び替えデータシート全体をチェック」ボタンをクリックして再度チェックを行ってください
リスタート機能を使用するためには、必ずA1セルが並び替え範囲に含まれていることが必要です。
それ以外の時はどうするのか?ですが、
基本的には、A列を基準にして、「データ範囲環境のパターン2~4」の並び替えを再度実行してください。
参考個所:範囲の選択パターンでマクロを設計 そのVBAコード
まとめ
並び替えを行なったその後、についての機能について試してみました。
データの切り出し機能や、リスタート機能は非常に簡単に利用できるようになっています。
ケースバイケースで利用できない場合もあると思いますが、切り出し機能などは、面倒なコピペを行うこともなく非常に便利に使うことが出来ます。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。