Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2003)
いくつかの行セルに入った数字を左右並び替え
投稿日時: 18/09/14 20:15:40
投稿者: kitazawake

20個くらいのセルに入った行並びの数字を左右並び替えて、一番右最後のセルの数字を左先頭に並び替えるには、どうしたらいいでしょうか、変数に格納してまた出す感じかなと思ってはいるのですがわかりませんお願いします。

回答
投稿日時: 18/09/14 21:39:03
投稿者: WinArrow
投稿者のウェブサイトに移動

kitazawake さんの引用:
20個くらいのセルに入った行並びの数字を左右並び替えて、一番右最後のセルの数字を左先頭に並び替えるには、どうしたらいいでしょうか、変数に格納してまた出す感じかなと思ってはいるのですがわかりませんお願いします。

 
意味が分からないところがあります。
  
左から見て
昇順にするのか?
降順にするのか?
 

回答
投稿日時: 18/09/14 21:43:59
投稿者: WinArrow
投稿者のウェブサイトに移動

手操作では、↓のようなことかな?
 
(1)対象範囲を選択してコピー
(2)任意のセルに「行列」を入れ替えて貼り付け
(3)並べ替え
(4)コピー
(5)最初のセル範囲へ「行列」を入れ替えで貼り付け

回答
投稿日時: 18/09/14 22:13:27
投稿者: WinArrow
投稿者のウェブサイトに移動

↑のほかに
手操作で
「データ」タブ」「並べ替え」ダイアログの中に「オプション」があります。
ここで「列単位」を指定すれば、並べ替えできます。

回答
投稿日時: 18/09/15 10:41:32
投稿者: simple

入っている数字の大小関係ではなく、位置を反転したいということでしょうね。
いろいろな方法があると思います。
 
>変数に格納してまた出す感じかなと思ってはいるのですがわかりません
ということでしたら、それを進めてみてはどうでしょうか?
配列を利用するということですね。
単純な例でトライしてみては?
できているところまで示されれば、コメントが貰えるはずです。
 
ついでに、Excel的な使い方をするなら、次のような方法も採れるでしょう。
・表の上にダミー行を一行設けて、そこには1からの連番を振ります。
・そのダミー行をキーとして、列方向に降順に並び替えます
これによって、表自体が反転できると思います。
こちらはマクロ記録を取るのが有益でしょう。
 
よい機会ですので、両方トライすると為になりそうです。

投稿日時: 18/09/16 11:11:01
投稿者: kitazawake

適切なご指導をありがとうございます。自分でできる所まで作ってみます。