【エクセル・マクロ】 「3セル単位」での列の並び替え 現在、各行にデータがあり、例えば10行目には ①「D・E・F」列に「4/11 (日付。実際はシリアル値)・文字X1・文字Y1」

Excel | Visual Basic262閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

0

ありがとうございます。 D列セル選択時にはD列以下(3セル単位)で、G列セル選択時はG列以下で、その行だけについて並替えができ、素晴らしいです(動作が早いですし)。 ★ただ、各行のもっと右側は別のデータがあり、並べ替えの対象外としたいのです。   例えば、選択セルから(そのセルを含めて)3セル×5組=15セル分に並べ替えの範囲を限定したいのです。   D10~R10(15セル)を指定すれば、この範囲だけで並べ替えるのでも、セコンドベストです。   あるいは、並べ替えをしたくない範囲の一番左のセル(列)に「#」などの記号をあらかじめ入力しておくなど…。 ★D列のセルを選択したら、そこから15セル(5組)の範囲で並べ替え、というのがベストです。 (実際の私の表は、30組・90セルありますが、後半はほぼ空欄です) ★ソート範囲(セル・列の右側)の限定をできませんでしょうか?

ThanksImg質問者からのお礼コメント

できました。(固定列数変更も) プログラム内容も短くシンプルで、処理速度も驚くほど速く、完璧です。ありがとうございました。

お礼日時:5/26 0:09

その他の回答(1件)

0

できないことはないですが 添付参照 1行目と 2行目を 追加してください。 1行目は 並び変えたい順序を 入力 2行目は 1.2.3の 繰り返し これで並び替えのオプションで 列単位で 切り替えに チェックを入れ レベル1を 1行 レベル2を 2行として ソートすれば 添付下のようになります。

画像

回答ありがとうございます。 しかし、列全体(1行目から最終行)の並べ替えではなく 選択されているセル・行に関してのみ、3セル(3列分のセル)単位で、セルの並べ替えをしたいのです。 回答者さんのやり方で、連続している行の特定行のみの並べ替え、可能でしょうか?