質問: 【excel vba】複数範囲の並べ替えは可能でしょうか? 【excel vba】複数範囲の並べ替えは可能でしょうか? excel2003を使用しています。 csvデータを元に作成された下記のような表があります。 a列...日付、b列...受注番号、c列...摘要(会社名・品名等)、d列...金額となっています。 6行目以下に上記の内容でデータが入力されていますが、会社ごとのデータ内で日付順に並べ替えをしたいのですが、vbaで複数の範囲を選択して、それぞれの範囲内での並べ替えは可能でしょうか? a b c d 6 ○○会社 7 1/20 123 aaa 1,000 8 1/15 120 bbb 2,000 9 10 計 3,000 11 12 ××会社 13 計の1行上と下は空欄行で、以下、会社名の後にデータが続くというパターンの繰り返しで数十社分あります。 excelのデータ⇒並べ替えでは複数選択した状態での並べ替えはできないので、vbaで可能であればと思い、質問させていただきました。 よろしくお願いします。
回答: これで上手くいきますかねえ? いきなり本番でやるのは怖いので 一度別で保存してからやってみてください。 public sub sort_asc() dim i as long for i = 0 to range("a65536").end(xlup).row - 1 if range("a1").offset(i) <> "" then range("a1").offset(i).currentregion.select selection.sort key1:=range("c1").offset(i), _ key2:=range("a1").offset(i) i = range("a1").offset(i).end(xldown).row end if next i end sub