- ベストアンサー
エクセルで列ごとに数字を昇順に並び替える方法
- エクセルのセルに重複した数字が入っている場合、列ごとに昇順に並び替える方法を教えてください。
- エクセルのセルにランダムな数字が入っており、セルの表示は2桁で表されています(例:01)。セルの数字をA1〜E5までの列ごとに昇順に並び替える方法を教えてください。
- エクセルのセルにランダムな数字が入っており、セルの表示は2桁で表されています。A1〜E5までの列ごとに、ボタンを押下して数字を昇順に並び替えるにはどうすればよいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
これをやるには、VBAのソートの学習とVBAのイベントの理解が必要だろう。質問者はVBAの基礎知識などがあるのか問題。 ーー 質問も実際のニーズを反映してないのでは(後記)。 AB・・列などが、日付で2行目以下が時刻の測定データなどなら、こういう表になるだろう。 シートのデータの中身も、質問には参考のために、書くべきと思うよ。 普通はA列に氏名(データの主体)などがあり、B列より右列にその人の属性値などのデータが来るはず。 ーー しかし、質問者が言うとおりにやると 例データ 質問のまま A B C D E 1 4 7 21 29 2 3 16 27 30 15 20 26 28 99 11 18 19 24 25 10 13 14 17 23 シートにコマンドボタンを1つ設け、ダブルクリックして 出てくる(イベントの)マクロシートに Private Sub CommandButton1_Click() c = ActiveCell.Column MsgBox c Columns(c).Sort Key1:=Cells(2, c), Order1:=xlAscending, Header:=xlYes End Sub ーー シートにボタンを作るのは 開発リボン 挿入リボン Activexコントロールの枠の中の 「コマンドボタン」をクリックして選択 シートへ貼り付け(シートの適当なセルの場所でマウスを右下方向に擦る) コマンドボタンの見てくれ(並び替え」というボタン)はCAPTIONというボタンの属性を設定する ーー ソートしたい列(1列)をマウスで選択して置いて、コマンドボタンをクリック。 例えばC列指定で実行すると C列だけが C 7 14 16 19 26 となる。 この回では、他の列はそのまま。 小生が質問の意図を取り違えているかもしれないが、 エクセルという場では、こういう事をすべきニーズは、あまり想像できないのだが。 全列のデータを盾に昇順に並べたいなら、上記コードを全列で繰り返すコードを付け加えればしまいだが。 一斉に全列一度にやれるコードも作れるかもしれないが。質問者はそこまで、思い至ってないようで、今回は、深入りしない。
その他の回答 (2)
- watabe007
- ベストアンサー率62% (476/760)
>D1~D5、E1~E5のの数字を”昇順”に並び替 こんにちは、どうぞ~ Sub Test() Dim c As Range For Each c In Range("A1:E5").Columns c.Sort Key1:=c.Item(1), Order1:=xlAscending, _ Header:=xlNo, DataOption1:=1 Next End Sub
お礼
いつも回答頂きありがとうございます。 そして、スマートなソースですね。 またよろしくお願いします。
- qwe2010
- ベストアンサー率19% (2193/11072)
操作としては、 A列を選び、並び替え B列を選び、並び替え C列を選び、並び替え D列を選び、並び替え E列を選び、並び替え で終了ですね。 この操作をマクロで行い、記録させ、ボタンを作ります。 表示→マクロ→マクロの記憶
お礼
早速の回答ありがとうございます。 マクロ記録というやり方が簡単ですね。
お礼
回答頂きありがとうございます。 ボタンの作り方まで教えて頂き重ねてありがとうございます。 全列一斉に昇順にするのが質問の意図です。