• ベストアンサー

エクセルのデータ並べ替え

エクセルで各縦列の数値データを昇順に並べ替えたいのですが、 一列ごとに昇順の作業をするのは非常にめんどうなので、一度で 行なう方法はないでしょうか? 添付画像をご参照のうえ、どなたかご教授いただければ幸いです。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#235092
noname#235092
回答No.2

No.1です。 私もそれほど詳しくはありませんが、自動記録で作ったものに下記の2つを書き加えてみましたのでためしてください。 1.1列ソートし終わったら自動的に右の列に移動して繰り返す。(したがって一番左の列の1行目から開始すること。) 2.一行目が空白セルの列まで移動すると自動的にマクロを停止する。 ※添付画像のようにどの列も一律に12行までの場合です。 (行数が違うときは「12」を書き替えてください。行数が一律でないときはとりあえず一番多い数に書き替えれば問題ないと思います。) 【マクロ】 Sub Macro1() Do While ActiveCell.Value <> "" ActiveCell.Range("A1:A12").Select Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin ActiveCell.Offset(0, 1).Range("A1").Select Loop End Sub

fujiipage
質問者

お礼

ご回答ありがとうございました。 ここ10日ほどいろいろあって内容を確かめる時間がとれませんでした。やってみたらうまく行きました。 遅くなりましてすいません。ホントにありがとうございました。

その他の回答 (1)

noname#235092
noname#235092
回答No.1

とりあえず1列分のソートのマクロを作るのがいちばん簡単ではないでしょうか。 そうすれば1列ソートするのに1秒もかかりません。 添付画像の程度なら10秒もあれば終わるかと。 それでも面倒で、しかも以後その処理を再三行うというのなら、自動で隣の列に移って繰り返し、自動でストップさせるマクロということになりますね。

fujiipage
質問者

補足

すいません、ご回答いただいたのですがそのマクロの作り方が わかりません。 もう1点、実際には2000列以上を並べ替えます。 もし、お時間があれば自動で隣の列に移って自動でストップという マクロの構文をお教えいただけないでしょうか?

関連するQ&A