こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル(マクロ含む)で、列の並べ替えはできますか?

エクセル(マクロ含む)で、列の並べ替えはできますか?

例えば、

A1  B1  C1  D1  E1
名前  ナシ  カキ  蜜柑  モモ
価格  80  50  45  95
人気   3   4   2   1
個数  35  90  80  20

という表において、
価格、人気、個数、それぞれの指標をもとに、
B1~E1までの列を、降順・昇順に並べ替えたりしたいのですが、
そんなことは可能でしょうか?

例えば、人気の指標で、降順に並べ替えるとすると、
E列(モモ列)がB列に来て、以下同様に、
D列(蜜柑列)がC列に、
B列(ナシ列)がC列に、
C列(カキ列)がE列に来るような形で、並べ替えが行われます。

並べ替えが行われるのは、あくまで、「列」において、です。
よく見かける「『行』が移動するような並べ替え」とは異なるものですので、
誤解無きよう、宜しくお願い致します。

以上、どなたか、お分かりになるかた、色々とお教示下さい。
必ず、お返事とポイント付与を行います。

投稿日時 - 2010-05-07 21:43:40

QNo.5878812

困ってます

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

回答(マクロ)は、

[B1:E4].Sort [B3], Order1:=2, Orientation:=2

これだけでOK。

---------------------------

「説明」

(1)[B1:E4]部分
ここにはデータの範囲を指定する(現在はB1:E4に設定)

(2)[B3]部分に優先する行を書く

例)人気順(3行目)で並び替えの場合(今回)
並び替える範囲の一番左の列(今回はB列)+優先して並び替えたい行数(人気順なら3)を組み合わせて→[B3]とする。

例えば、並び替え範囲がC1:Z100で50行目を優先して並び替えたいなら、
[C50]とする。

(3)Order1:=2(並び替え順番(昇順か降順)を指定)

「=2」の1部分を1か2に変更するだけ

昇順なら1(Order1:=1)
降順なら2(Order1:=2)←今回

(4)Orientation:=2(並び替え(列か行)を指定)

「=2」の2部分を1か2に変更するだけ

列単位→1(Orientation:=1)
行単位→2(Orientation:=2)←今回

※ここを変更するなら(2)の部分も変更必要

例)Orientation:=2(行単位)をOrientation:=1(列単位)にした場合
並び替え範囲がC1:Z100でD列を基準にしたい場合は(2)を[D1]にする。
並び替え範囲がC2:Z100でD列を基準にしたい場合は(2)を[D2]にする。
並び替え範囲がC1:Z100でE列を基準にしたい場合は(2)を[E1]にする。
並び替え範囲がC2:Z100でE列を基準にしたい場合は(2)を[E2]にする。




マクロの記録は初心者にはわかりづらいはずですので、これを覚えておけば自分で簡単にアレンジ出来ますので今後も何かの役に立つはずです。

投稿日時 - 2010-05-08 12:29:24

お礼

具体的な回答をありがとうございます。
解読にお時間を頂きたいと思います。
解読後、試してみましたら、また感想を書かせて頂きますね。
ということで、もうしばらくお待ち下さい。

投稿日時 - 2010-05-09 12:51:00

このQ&Aは役に立ちましたか?

32人が「このQ&Aが役に立った」と投票しています

回答(23)

ANo.23

>私に敵意を示すのは勝手ですが、

お~い、TAKOSAKUちゃん、大丈夫か????????

"第三者という設定" で勝手に横から入って来たのは自分やで。

だよな。

そしたら、"敵意を示してる" と他人に指摘する前に自分の行動考えてみ。

2秒でええわ。

イ~チ、ニ~、・・・・考えたか?

自分の最初の書き込み覚えとる?

イ~チ、ニ~、・・・・思い出したか?

「2chさんそろそろ助け舟出しましょうか?」やで。

わかるか?

この行為が "先に敵意を示してる" ということがわからんか?

あくまでもこっちはその向けられた敵意に対して反論してるだけやで。

お前の言動全てに当てはまるけど、

"まずは自分が何をしたか"を考えろや。
勝手に話作ってややこしくしてるだけないの。

コメントについてもそうや。
グダグダと訳がわからんこと増やしていって。
前回のこっちのコメント見てみい。
何も新しいこと書いてないで。
そっちのコメントに、思てることをただ書き添えただけや。
それを今回もグダグダと訳がわからんこと増やしていって。

携帯の機能にしてもそうや。
今回はVBAの話で携帯の話ではないで。

"初心者には記録の中身を見てもわかりづらい部分がある(と自分は思う)から、このような方法もありますよ。今回は役に立たなくてもいつか役に立つと思いますんで、覚えておいて損はないですよ"

とNO5で回答したわけや。

前回も書いたけど、携帯番号は手打ちでも電話帳でも桁数は同じや。でも今回出した回答(Sort)は手書きなら「マクロの記録」の10分の1程度の文字数で書けるし、いちいち記録してコピペするという面倒なことせんでも5秒で書けるんや。

"桁数(文字数)が同じ携帯番号の話"と"10分の1程度の文字数で処理できる今回の話題"とは全く別物や。

反論書くならせめて内容を理解して書けや。

それと、今回はあくまでも2chとやり取りしてるんや。
まともに反論したいならID元に戻して2chとして参加せぇや。
もしそれが出来んのなら、意見の是非を論ずる前に意見する資格なしやで。

あと、下の参加者のコメント読んで思い出したけど、NO6~NO8のやり取りはOKWAVEに削除されたわな。
この3つの欄に書いてあった内容もきちんと把握した上での意見なんか?

特にNO,6の内容は把握しとんのか?(覚えとるんか?)
このくだらん言い合いの発端や。

下の新入りさん、ちと"おかま口調"やけど言うてることは間違いやないで。

いろんな人間が意見する場なら、

1、まずは相手の意見(今回は回答)を尊重する
2、たとえ自分の考えと同じでなくとも基本的に無視をする(温かい目で見守る)
3、そして、もしその意見に疑問(反論)があるなら、きちんとした形(今回なら新たな回答)としてコメントする

これがルールや。

それをこそこそとくだらん書き込みして、しかも「驚きの白さになる」とか「相手をおちょくるのがウマイ」とか小学生レベルの意識で物言うて、どうすんの?
普段の生活で冗談の一つも言うてないからこんな場で言いたくなるんや。
こんな場にそんな冗談必要ないで。

あと、もう少し人に揉まれて自分を成長させな。(させようとする努力をせな)

※あくまで第三者として意見したいなら、さっき言うたように、NO6の内容ぐらいきちんと把握して物言うてるということをまずは証明せぇ。(このくだらん言い合いの発端や)

話はそれからや。

投稿日時 - 2010-05-18 03:44:21

ANo.22

そんな深く考えなくてもいいじゃん(笑)
何でこうなったか原因を考えれば簡単なのよ
やり方なんて人それぞれ 好みも人それぞれよ

私はマクドナルドが嫌いよ
国民のほぼ大半が好きであろうマクドナルドが嫌いだったら
私はおかしいの?変?
そんなことないわよね
これって質問箱なのよ
好きな意見もあればあわない意見も当然あるわ
好きな色があれば嫌いな色があるでしょ
自分にあわなければ無視すればいいのよ

これだけの情報があるネット社会では
皆の感想や意見はとても役に立つし、それで私は色んな時間の短縮をすることができるわ
その中で自分にあうものあわないものを自分でチョイスする
当然のことだわ

6~8がないけどここが原因でしょ
あ~だ,こ~だ,言いあってるけど
ここに先に書き込んだほうが誤ればすむことじゃない
それが原因なんでしょ
掲示板では他人の発言には無関心を装うのが基本マナーよ
それとTAGOSAKU7さんもほどほどにね
人の肩を持つのは悪いこととは言わないわ
ただ、あなたは参加じゃなく制止する側だと私は思うわ

私みたいに胸を張って「あの回答は合わない!」って
思って無視してればいいのよ^^

投稿日時 - 2010-05-17 10:17:14

ANo.21

私に敵意を示すのは勝手ですが、ここの履歴を見て、発言に冷静さを欠いている事をもう少し自覚してもらいたいと思います。


PCが無いところで聞かれたらSort機能を聞かれたら確かに困りはしますが、携帯電話でも一緒だとは思いませんか?
携帯の無いところで電話番号を聞かれてもほとんど答えれません。

なのでそんなイレギュラーな環境に置き換えて話されても困ります。
更に覚えていると便利だという事も、否定するつもりは一切ありません。



マクロの機能も補助機能ですよ。

2chさんは関数化についても述べていますので、マクロの記録で完了ということで話されていないと思います。
これは#9のお礼欄を見ると、質問者さんもそう受け取っているように見えますが、いかがでしょう?


うまく機能という単語を頭に置き換えて言っていますが、本質が違います。
「せっかく機能があるのに、使わない理由はありません。」
「ただし使う必要性も無い機能は使う分だけ時間の無駄です。」

機能を有効に使う事に頭を使う事で、視界を広げる事ができると思います。
勘違いしないでください。決してSortの構文を覚えるなと言っているわけではありません。
冒頭の例に関係しますが、電話番号を覚えていたら、それはそれで便利です。
okwaveninokunさんも携帯の電話帳を使用されるということで、その点は理解していただけると思います。


あと途中の劇団員ですが、私ではありませんが、どう推測されても勝手にどうぞです。
証拠の無いIDの発言の犯人探しは水掛け論ですので、興味ありません。


#22にて
「2択にして貰えただけでもありがたく思え」
「否定どころか、+αのオンパレードや。」

#10にて
「マクロの記録=学校の教科書(いろんな

不要な情報を極限まで削除し、要点だけを集約している)」

こういう発言のスタンスは自己陶酔者として扱われて当然だと思いませんか?



もう一度言います。「マクロの記録で完了」という事は、2chさんも言ってはいません。
頭を使うなとも言っていません。機能を上手に、そして有効に使う事を勧めているのだけだと思います。
有効に使うっていうのは、知識無くして有効利用はできません。


ソート機能を実行しそれを記録しておいたら、記憶を失わない限り、自動作成されたプログラムは推測がつきます。
複雑な事を質問されていたのなら、マクロの記録を勧めないと思いますが、今回はソート機能に関しての質問です。
記録によりできるプログラムができるので、それを解析してプログラムを覚える方法を勧めているだけです。

http://okwave.jp/qa/q5877040.html
「動くサンプルが最強だと思います。」という発言からすると、1050YENさんも出来ているプログラムからの改造を勧めている人の一人のようです。


機能を覚える=悪
と言っているわけではないので、勘違いしないでいただきたい!


2chさんも「人をおちょくるのがウマイ」というはありますが・・・
言っている事の本質は王道の正論です。


「自分だけが正論というスタンスでは無く書いているんだ」とどれだけ言っても、ご自分の書いた文章も含め、冷静に読み返すことをお勧めします。
稚拙すぎる発言は、自分の株を落とすだけです。

投稿日時 - 2010-05-17 01:00:48

ANo.20

>どこかの通販の体験談みたいでちょっと笑えましたが、きっと最後は「驚きの白さ」にでもなるのでしょう。

→こういうのが貧相な物の考え方を表しとるんや。書いてて恥ずかしならんか?

何とかしてこっちの神経を逆撫でようと必死になってるのが目に見えるわ。

こんなん書くと"Give Up"言うてるのと同じやで。

こういうやり取りの場では、先に皮肉書いたほうが負けや。

みすぼらしいで。


>新たな劇団員を雇う前に、2chさんの書いた文章を冷静に読み返してみてください。

→劇団員にやたらこだわるな。

劇団員はTAGOSAKU7お前じゃ。

もしかしてhitokotoさんもお前か。こっちをハメるための下準備?

まさかそれはないわな。そこまでできたら逆に関心するわ。

トラぶったの初めてじゃないみたいやな。いろんなテクニック持っとるみたいやもんな。

当事者から書き込みないと思ったら、まんまと騙されてしもうとったわ。
(また、"お呼びですか?"ってな感じでしらじらしく入って来るんやろな)


>私は、携帯電話で電話帳に電話番号を登録して利用します。いちいち電話番号を覚えるようなマネはしません。

→バカか。そんなん当たり前じゃ。携帯は手打ちしようが登録しようが桁数は同じじゃ。

今回こっちが言うとるのは、"1行で処理出来るものを5行、ましては10行も掛けることはない"ということを言うとるんじゃ。

ほんま、ノータリンや。


>「使えるものは使う」というだけの話です。

使えるもの使うなら何故 "頭" 使わんの。

機能はPCがなければ使えんで。

けど "頭" はどこでも使えるし、どこにも逃げへんで。

機能より"頭"が便利やで。

機能はあくまで"頭"の補助じゃ。

"補助機能"って言うやろ。

ドアホ。


>せっかく機能があるのに、使わない理由はありません。

せっかく"頭"があるのに、使わない理由はありません。


>質問者さんも、そろそろ締め切ってあげたらどうですか?

バカか。この状況で閉めれるわけないやろ。
こんな下らんやり取りのためにわざわざ開けてくれ取るんじゃ。

感謝しても足らんのに、そんくらいもわからんのか?

投稿日時 - 2010-05-16 14:39:59

ANo.19

>「面倒か」「知識がないか」とちゃんと2パターン書いている。
まだその選択肢しかないと本気で思っているのですか?
なぜ悪い方の二択しかないのですか?


→バカかお前は。

1がこっちが出した今回の回答。2がマクロの記録じゃ。

■1
[B1:E4].Sort [B3], 1

■2
Range("B1:E4").Select
Selection.Sort Key1:=Range("B3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, SortMethod _
 :=xlPinYin, DataOption1:=xlSortNormal



→1を知ってて2を薦める奴がどこにおるんじゃ。もしおるならただの嫌がらせじゃ。

アホか。


>なぜ悪い方の二択しかないのですか?

→上を見てもわからんか?1を知ってて2を薦めるんか?もし薦めるなら嫌がらせにしかならんで。

本当は「知識がない」だけで充分なんじゃ。それを可愛想だから2択にしてやったんじゃ。

2択にして貰えただけでもありがたく思え。

バカか。


>その考えを”思い込み”という指摘をしているのだと思いますよ。

→思い込みをしているのはお前じゃ。

追求すればいくらでも楽になるのにマクロの記録がベストだと思ってその後を追及しない。

思い込みという言葉は知識が不足している奴に向かって、

それは思い込みだよ。そんなに難しくはないぞ

てな感じで使う言葉じゃ。

アホか。


>質問に対し、よいサイトがあればそのサイトのURLを書いたり、マクロの記録が最善だと思ったらそれを勧めるというのは、知識がない人にはできない作業です。

→"マクロの記録が最善"と言う時点で他のやり方を知らんという証拠や。

上を見てもまだわからんか?

>知識がない人にはできない作業です。

知識がなくても記録を薦めることぐらい誰でも出来るで。

本当に知識があるというのはその内容をきちんと理解していることや。

もし、他人に"ここはどうすんの?"って聞かれて、手元にPCがなかったらどうすんの?

"PCが手元にないのでわかりません、なん?"

手元にPCがなくても答えることが出来る人を本当に知識があるというんじゃ。

その程度の意識で他人の回答にグチグチ言える柄か。

バカか。


>最初にマクロの記録を勧めた1050YENさんに対しても同様に思っているのかも知れませんが、相手の発言履歴から見ても高いスキルを感じるのはごく自然です。
長文説明の回答も多くしている方です。

→バカか。

以下が1050YENさんの回答や。


普通に列方向の並べ替えはできますよ。
http://www.serpress.co.jp/excel/vba009.html
並び替えのオプションで、指定ができます。

マクロではOrientationという引数です。
通常設定の値は
xlTopToBottom
それを
xlLeftToRight

とにかくマクロの記録でやってみることが一番かと。。。



→これも何回も言うてるで。記録を薦めるなら「記録+α」が必要やってな。

1050YENさんの+αを言うてやろか。

1,参考URLが貼り付けてある。
2,"並び替えのオプション"部分にきちんと触れてある。
3,"マクロではOrientationという引数です。"
「行、列」をどの部分で操作すればいいかというのがきちんと書かれている。
4,
通常設定の値は
xlTopToBottom
それを
xlLeftToRight

→3で説明し、4で具体的な書き換え方が書いてある。

以上や。

わかるか?これが+αや。+αのオンパレードやで。

1050YENさんを否定してるように見えとるのは、最後の"とにかくマクロの記録でやってみることが一番かと。。。"の部分にしか目が行ってないからや。

否定どころか、+αのオンパレードや。

質問者さんの今の状況なら、1050YENさんの回答が今回の質問のベスト回答や。

どアホか。


>自分だけが「神発言をできる」というスタンスで物を言っている人に、なぜ感動する人が現れる方が不自然極まり無いです。

→この程度の意見が「神発言」?てか。笑わせるな。

それは言い方の問題で、言ってる内容は「神」じゃなく「亀」レベルや。

"VBAのSORTを記録せずに自分で書く"

こんなんが「神」と思える時点で知識不足。

ウサギと亀の「亀」に毛が生えたレベルやで。

投稿日時 - 2010-05-16 14:36:41

ANo.18

okwaveninokunさん
もっと文章を読みましょう。

>「面倒か」「知識がないか」とちゃんと2パターン書いている。
まだその選択肢しかないと本気で思っているのですか?
なぜ悪い方の二択しかないのですか?

その考えを”思い込み”という指摘をしているのだと思いますよ。
質問に対し、よいサイトがあればそのサイトのURLを書いたり、マクロの記録が最善だと思ったらそれを勧めるというのは、知識がない人にはできない作業です。

VBAでも利用できる共有メモリ操作方法方法を書く人に、知識が無いという結論付けには無理があります。
共有メモリ操作ロジック作成は、マクロの記録に頼ってで出来るレベルでの代物はありません。
この人の発言より前に、この業界でVBで共有メモリを扱う方法をWeb上に公開した人は、おそらくいないではないのでしょうか?


最初にマクロの記録を勧めた1050YENさんに対しても同様に思っているのかも知れませんが、相手の発言履歴から見ても高いスキルを感じるのはごく自然です。
長文説明の回答も多くしている方です。


自分だけが「神発言をできる」というスタンスで物を言っている人に、なぜ感動する人が現れる方が不自然極まり無いです。
どこかの通販の体験談みたいでちょっと笑えましたが、きっと最後は「驚きの白さ」にでもなるのでしょう。

新たな劇団員を雇う前に、2chさんの書いた文章を冷静に読み返してみてください。


私は、携帯電話で電話帳に電話番号を登録して利用します。いちいち電話番号を覚えるようなマネはしません。
「使えるものは使う」というだけの話です。
せっかく機能があるのに、使わない理由はありません。


質問者さんも、そろそろ締め切ってあげたらどうですか?

投稿日時 - 2010-05-15 09:40:31

ANo.17

>ANo.19

また変なんが入って来た。もうええ言うとるやろ。
助け舟?そんなんいらんわ。
対立はしとるが、人の同情を喜ぶほどのヘタレには少なくとも見えへんで。
自分にはそう見えたん?逆に失礼やわ。

あと、助けたいなら、もうちっと"ましなID"使こうて助けたりぃや。
それじゃ助けるどころか逆効果にもなり兼ねんで。

"類は友を呼ぶ"ってことわざあるやろ。そのくらいわからんか。

それと、今回の書き込みはあんたに対しての物ではないで。
それとも自分に言われとるように感じる部分があったんかいな?

似た物同士で群れてどうする。群れるのは弱い生き物のすることや。

あとは相手さんの反論聞いて終わりや。
これだけ言われたら向こうも反論したいだろうからな。

関係ない奴は黙って横で見とれや。またややこしくなるわ。

投稿日時 - 2010-05-15 04:03:40

ANo.16

2chさん
あちらさんの劇団員が増える前に、そろそろ助け舟出しましょうか?

投稿日時 - 2010-05-15 00:18:36

ANo.15



>それと出版業界事情について、嘘っぱちが出ているので、その点も言っておきます。

こちらのコメントと真逆の理解をしている。意味不明。

>他の人の発言を「面倒だから」と思いこむのは思うのは勝手だけど、事実を知らずして思い込みで初心者に吹き込むのはやめましょう。

ANo10→マクロを自分で書ける方でマクロの記録を薦めるのは、説明するのが面倒か、聞かれた事に対する知識を実は持っていない(記録任せで自分で書けない)方なのかなと私は思います。他人にアドバイスするわけですから"せめて自分で出来ることを回答するのが普通"というのが私の考えです。

これのこと?

「面倒か」「知識がないか」とちゃんと2パターン書いている。
しかも今回の場合はどう考えても「面倒だから」ではなく「知識がない」に当てはまる。
それを「面倒」の部分だけ抜粋し、自分に不利な「知識がない」という部分には触れていない。
この曲がった根性が、今回のトラブルを多少なりとも長引かせる原因になっていることを気付くべき。

"自分が前進しきれない(しようとしない)から他人が前へ進もうとすると引き止めたくなる。"

"自分が変われば他人を見る目も変わる。"

!!!!!!!!!!!!!!!!!!!!!!!!!
"#14
>初解答がここかw
>自作自演乙

平日の真昼間に2日連続でコメントを投稿出来るという感覚がそもそもずれ過ぎ。
プー太郎じゃあるまいし。
こんな考えが浮かぶこと自体問題。
(ネットの世界ではどうかは知らないが、普通の感覚ではあり得ない)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ANo14
hitokotoiitaiさんへ
"

指示して頂けたことは正直嬉しいです。
しかし、あまりこんなやり取りには首を突っ込まないほうがいいですね。
今回のように訳がわからない解釈をする者もいます。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
aw-dlayさんへ

一言お詫びを言って済ませようかなと思って開いてみたら、また書いてありましたんでコメントしました。
面倒なので、そろそろコメントするのは辞めにしますんでご了承を。

投稿日時 - 2010-05-14 07:11:47

ANo.14

ANo.12へ
また?
しつこい。もうええで。
暇なん?
他にやることいくらでもあるだろ。

面倒なんで簡単に。

>私を呼んだ?
誰も呼んでない。

>さてさて雑音君wです。
自分で自分を"雑念君"?
悲しいし、みっともない。
自分を「雑念君」呼ばわりしないでいいような行動せぇ。

>マクロの記録で暗号のように出てくる場合があるようです。個人的にはそんな経験が無いので~
「SORT」の引数を覚える必要がないと言うてる時点で暗号に見えとる証拠。
一つ一つの意味を一度調べれば、あんなん誰でも覚えれる。
あれを記録で処理したり、コピペしたりするって、それこそ超初心者。

>暗号に見えるマクロの記録の再現方法はわかりません。
「暗号に見えるマクロの記録」なんてあるわけない。
ずらっと並んだコードを見るだけで初心者には目を反らしたくなる感じがあるという意味。
「暗号に見える」というのはあくまでも物のたとえ。そんなことぐらいわかってるのにあえてこのように書く。
そういうへそ曲がりな部分が成長できひん理由。
へそ曲がりの解釈は思春期で卒業するのが普通。
ガキじゃあるまいし。情けない。

>仮にそうなった場合【Officeが日本語版なのか】などの環境をチェックしてください。
情けない。

>銀のエンジェルを5枚集める方が現実的です。
「銀のエンジェル」の年代でその意識レベル?

>引数に1とか2とかの値を直接指定するような物は、覚える必要はありません。
自分が無知なだけ。
そんなん基本。
基本が終われば少しずつ他の事を覚えようとするのが普通。
「お前の回答はレベルが低い」というならわかるが、他人までレベルの低いほうへ引っ張ろうとしないこと。
基本が出来れば、少しでも枝葉を付けるのが当たり前。
基本だけでいい奴は他人まで巻き込まんとおとなしくしとくべき。

>VBAプログラミングは【覚えるもの】ではありません。
情けない。超初心者でもこんなこと言わない。

>逆に覚えなければならないのは構文です。
初めてええこと言うた。
で、構文を覚えた後は?それで終わり?その後は?何もしないでただコピペ?
それは自分の中だけで留めとくべき事。
他人へ薦める事ではない。
右も左もわからない初心者にはな尚更。

>一発勝負の金のエンジェルを狙いましょう。
自分がまず金のエンジェル狙え。
1行で済ませられる処理を5行、下手すら10行も掛けてる間は金のエンジェルを他人に薦めるには早すぎ。

>高ポイント取得者が【マクロの記録】と言っているのは、有効な手段であることを経験しているからです。そして良回答と判断されているのは、それを受けた質問者も便利さが実感できたからです。

右も左もわからん超初心者なら便利と思うのが当たり前。
超初心者は記録使えば何でも出来ると思う。出来ないことが多いとも知らずに。
記録を薦めるなら「記録+記録がどんなもんか」ということを教えてやるのが本当の回答。
実際、「私はマクロの記録しか使えません。ここはどうすればいいのでしょうか?」みたいな質問だらけ。
これは、記録任せにして、後々自分では何も出来んことに気づいて困っている証拠。

>マクロの記録を有効に使うことができない人が、初心者に対し記録を否定することは決していいアドバイスとは思えません。マクロの記録をうまく使いこなしている人が、記録を否定しているのであれば、話は別です。

マクロの記録を有効に使えない?意味不明。
記録がなくても自分がやりたいことくらいある程度書けるのに、記録が使えないわけがない。

「記録を有効に使う」ってコピペすることなん?
それは超初心者が、初めの数回行うこと。
「記録を有効に使う」とは、記録したことを理解して、次からは出来るだけ記録を使わんでいいようにすることが本当の意味での「有効に使う」ということ。

実力うんぬんの問題でなく、他人にアドバイスするには意識が低過ぎる。

>【全てをマクロの記録で行うべき】と言っていのではなく、【不要なことは覚えない技術】というのが、スキルを高めます。

今回の話題は「Sort」(並べ替え)。
こんなのExcelの定番。
いくらなんでも【不要なこと】の部類には入らない。

>「たいてい自動記録マクロから始めているようですね」という言葉があります。
前回も記載。
あくまで記録はすべての情報が載ってる教科書。
教科書は情報は多いが、不要な部分も多い。
初心者はどこが不要な部分かわかりづらい。
掲示板でせっかく生きたやり取りするなら、教科書に載っていない情報を入れてあげるくらいの気持ちが必要だということ。

投稿日時 - 2010-05-14 07:08:33

ANo.13

okwaveninokun様
わたしのコメントで何だかご迷惑をお掛けしてしまいました。。。クスン クスン 正直に意見を書いただけなのですが・・・・・。。。
今後は今まで通りに外から見るだけにして二度とコメントしません。ごめんなさい。。。

2ch様
普段使っているidでコメントするのは何となく気が引けたのでidを作ってコメントしました。。。
まさか、そのように解釈されるとは思ってなかったですが、言われてみればそのように解釈することも出来ますね。。まだまだ甘いようです。。

お二人ともすいませんでした。以後気をつけます。。。

投稿日時 - 2010-05-13 14:36:08

お礼

結果的に、書いて頂いたコメントが何らかの光る玉であれば、私としては大歓迎です。
書き手が誰であるか、は私にとっては、それほど重要なことではないので、
万が一、仮に一人二役だろうと、私は気にしません。
一人二役であるとも思っておりませんし、そうではないとも思っておりません。
そもそも、それは本質的な議論ではないので、スルーしている、というのが私のスタンスです。
(というか、書いて頂いたコメントは、私宛のメッセージではありませんでしたね。苦笑 でしゃばって、すみません?!笑)

投稿日時 - 2010-05-13 23:21:26

ANo.12

2ch

#14
初解答がここかw

自作自演乙

投稿日時 - 2010-05-13 12:14:43

お礼

2chさんのお気持ちは分からなくもないですが、
こちらのコメントについては、雑音(泥色のエンジェル。笑)として、スルーさせて頂きます。

投稿日時 - 2010-05-13 23:12:46

ANo.11

関係ないけど横から失礼します。。

いろんな人がいるものだなぁとやり取り読ませていただいてます。。。ウフッ

わたしもvbaを現在勉強しておりますので掲示板には時々目を通してはいろんなことを学ばせてもらっています。

人それぞれ顔が違うように考え方も違うでしょうから、どちらの方の意見が正しいと言うことは断言は出来ないと思います。。。

ただ、敢えて言わせていただくと、何となく2ch様の意見には向上心???は感じられないなぁという印象を受けました。初対面なのにごめんなさい。。。

といいますのも、わたしはまだまだ知識不足で2ch様同様に【マクロの記録】に頼りっぱなしで自分で難しいコードはあまり書けません。しかし【マクロの記録】を使う際にいつも思うことは、[いちいちコピペするのは面倒だな]とか[もっと簡単に書ける方法ないのかなぁ]ということばかりです。

そんなときに今回のやり取りを偶然目にしました。今のわたしにはとても興味深い話題だったので毎日ページを開いては新しい書き込みがないかと目を通していました。

掲示板にはさまざまな意見が飛び交いますので、今までもいろんなやり取りを目にし、そしていろいろ試してみました。しかし、正直[これはすごい!!]と思ったことは記憶にありません。

今回もどうせ同じようなやり取りなんだろうと思いましたが【SORT】についてはすごく興味があったので、半信半疑でokwaveninokun様の回答を先日試しましたところ、[こんなにも簡単に【SORT】が出来るものなのか!!!]と正直感動してしまいました。

今まで【SORT】については何度かネット検索したことがありますが、このようなやり方は初めて目にしました。また、okwaveninokun様の解答欄に書かれていることは先程ネット検索しても見つけることは出来ませんでした。

わたしも【マクロの記録】は使えますし多少はvbaの知識を持っているつもりです。しかし、いざ解からないことがある場合よくネット検索をかけます。しかし、出てくるページには[【マクロの記録】をしてください]とか同じような回答がいくつも並んだものばかりで[これはすごい!!]と思ったものは記憶にあるかないかという感じです。もしそれがわたしみたいに知識が薄い者にも簡単に理解できるものならいいのですが、どれも理解するまでにはかなりの時間をかけています。

okwaveninokun様のおっしゃることが100%正しいかどうかは、知識が浅いわたしにはまだはっきりと判別することは出来ません。しかし、少なくともネットなどで紹介されているページなどよりはわかりやすく初心者向きによく考えられた回答だぁと感心しました。

わたしはどちらかというと面倒臭がり屋ですので、記録をとったりコピペするよりも直接自分で書く方が向いていると感じていますし、このような方法なら誰でも出来るのではないかと思います。(わたしみたいなものでも簡単に出来ました。。。)

また、【SORT】などはプログラムを組む際にはほぼ毎回といっていいほどわたしは利用します。ですので、こんなに簡単に出来るなら是非覚えよう(すでに覚えましたが・・・)と思いお気に入りに登録しました。

最初に書いたようにどちらの方の意見が正しいとは言い切れないと思います。しかし、少なくとも今回の場合はokwaveninokun様のやり方に[回答っていうものはこういうのが本当なのかなぁ]と納得出来たことは確かです。

以上、知識が浅い超初心者の意見でした。。。

横から意見してごめんなさい。。。

投稿日時 - 2010-05-13 11:27:46

お礼

第三者の方のお話として興味深く読ませて頂きました。
私の気付かなかった面を、こうしてお話し頂いたことで私の視野は俄然広がりました。
この度はどうもありがとうございました。
また宜しくお願い致します。

投稿日時 - 2010-05-13 23:11:24

ANo.10

2ch

それと出版業界事情について、嘘っぱちが出ているので、その点も言っておきます。


学校で使われるのは、作者が教授であったりして利権が絡むので、実質業務で有効な本は少なく感じており、あまり論じたくありません。


技術系大手出版社の本は、作者が勝手にページ数を決める事が出来ません。ページ数は作者の要望を受け編集者が決定します。
ページ数を減らされる事も多くあります。あまり厚くなると書店で場所をとってしまうとか、価格が上がってしまうからです。特に入門書であれば、厚すぎると売れないという事情もあります。
結果的に定められたページ数に収めなければならず、面倒だから省略するのではありません。説明する程でもないと思う所から省略するのです。
自費出版でない限り、持ち込まれた原稿でページ数が決まるわけではありません。
説明が面倒だからとか、突っ込まれたくないから省略という理由なのであれば、そもそも本など出版できません。


これは事実です。出版社に確認してください。


他の人の発言を「面倒だから」と思いこむのは思うのは勝手だけど、事実を知らずして思い込みで初心者に吹き込むのはやめましょう。

投稿日時 - 2010-05-13 02:18:00

お礼

「その道のプロが書いた参考書」に書かれている話だからと言って、
それを即、鵜呑みにするのではなく、
出版業界の裏の部分を考慮し、ある程度、疑って読め、というご指摘ですね。
参考にさせて頂きます。

投稿日時 - 2010-05-13 23:09:00

ANo.9

2ch

私を呼んだ?さてさて雑音君wです。

#3で解答は出ているので、答える解答はありません。
今後の開発についてのアドバイスだけを行います。

・マクロの記録について
マクロの記録で暗号のように出てくる場合があるようです。個人的にはそんな経験が無いので、暗号に見えるマクロの記録の再現方法はわかりません。
仮にそうなった場合【Officeが日本語版なのか】などの環境をチェックしてください。

・Officeの定数について
Excelでは
 Excel.Constants.
 Excel.XlBorderWeight.
 Excel.XlArrowHeadLength.
と手入力すると、各定数が入力候補として出現します。これらを覚えることをしている人はいません。定数を覚えるより、銀のエンジェルを5枚集める方が現実的です。
これらの定数もマクロの記録から拾い出すことはよくあります。VBAの参考となる説明が、引数に1とか2とかの値を直接指定するような物は、覚える必要はありません。

・VBAの開発
VBAプログラミングは【覚えるもの】ではありません。【方法だけを覚える】か、脳ミソが飽和しそうであれば、【方法が載っているサイトをブックマークに保存する】という方法をとりましょう。
方法が載っているサイトが本当によいところであれば、今は使わなくとも、今後に役立つ情報を得る場合があります。これはマクロの記録にも似ています。
【マクロの手順で間違って、セルの中央寄せのつもりが、セルの結合をしてしまった。】
という経験があれば、セルの結合方法を覚えようとは思わないはずです。
【結合が必要なときにセルの結合を、マクロの記録で再現しよう】ということになり、他の機能に付いても、【オペレーションで実現可能なことは、覚える必要なし】という結論にたどり着きます。
いいサイトを知っていたら、【そこのサイトから拾えばよい】という知識で十分になります。
逆に覚えなければならないのは構文です。
【10回似たようなことをする場合、10行似たような命令を書くようなことをするのではなく、変数を利用し、ループを行い処理をする】
ということはよくあります。ループの構文ぐらいは覚えておいて欲しいところです。
FOR NEXT
DO LOOP
FOR EACH NEXT
WHILE WEND
それが10回と限らない場合や、他の用途にも使える汎用的な物にしたいという場合、これらの処理を関数化することになります。
それ以外にも覚えることは多々ありますが、構文がわからなければ【いいサイトを見つけても、それがいいサイトという判断が付かず、読み流してしまう】ということになります。
定数を覚える時間があれば、【関数化とは】などを学ぶか、一発勝負の金のエンジェルを狙いましょう。

私は雑音君です。この書き込みも、直接のソートとは関係なく、その学ぶ方法を書いています。
それが参考になるかどうかは、質問者の判断に委ねます。

手前ミソになるけど、まぁまぁな解答はしているつもりです。
http://okwave.jp/qa/q817941.html

過去のVBAの質問を見てもらえばわかるとは思うけど、良回答率が高い人のVBへの質問への解答は、VBAの記録で行えるものは、【オペーレーションの説明+VBAの記録】が多く見られます。
【記録ではできないもの】を記録でどうのこうの言ってません。今回の質問は【記録ができるもの】です。

高ポイント取得者が【マクロの記録】と言っているのは、有効な手段であることを経験しているからです。そして良回答と判断されているのは、それを受けた質問者も便利さが実感できたからです。説明が面倒だと理由は10位中9位ぐらいみたいなものです。
マクロの記録を有効に使うことができない人が、初心者に対し記録を否定することは決していいアドバイスとは思えません。マクロの記録をうまく使いこなしている人が、記録を否定しているのであれば、話は別です。

【全てをマクロの記録で行うべき】と言っていのではなく、【不要なことは覚えない技術】というのが、スキルを高めます。

マクロの記録+書籍で検索を行うと、初級の物しか出てきません。(これも否定されてしまうのだろうか)

http://excel-vba.seesaa.net/article/196515.html
「たいてい自動記録マクロから始めているようですね」という言葉があります。

マクロの記録ではできない例をあげて、これならどうだと言われても比較の対象にはなりません。
何がスタンダードかは、根拠のない推測ではなく事実から答えないと、思い込みでしかありません。

投稿日時 - 2010-05-13 02:16:07

お礼

2chさんの熱いメッセージが伝わって来ました。
2chさん、ご安心下さい。
私はそれなりにあなた様の回答と、その背後にあるお気持ちをを評価しているつもりです。
今回頂いた回答からも色々と学ばせて頂きました。
「マクロの記録」に対する考え方には、十人十色、色々あるようなので、
どれが正解という風な片付け方をするつもりは当初から私の頭の中にはありませんので、
適宜、使う時は使い、使わずに行った方が良い時には使わない、
という単純なルールでそれを利用しようと思っています。
問題は、その判断を、この初心者である私が、どう的確に行えるか、であると思いますが、
これについては、私が今後色々とVBAの作業の中で痛い目を見ることで、
つかみ取っていくべきことであり、また、そうした性質のものなのかなとも思っております。
ちなみに、マクロ記録における、その方法によって生じるプログラムコードの冗長性の例としては、
「コピー&ペースト」があるようです。
コピー&ペースト処理はマクロ記録でやると、無駄に複雑になるようです。
手書きであれば1文で済む所を、マクロ記録だと5行くらいになる、
というような話です。(あくまで一例ですが。)

なお、本質問において、この「マクロの記録」を使う方法の是非が本題なのではないことは、
皆さんもご承知のことと思います。

私がしたいことの方法を皆様にお聞きし、
その答えの一つとして、また、その過程の一部として、
マクロ記録が登場したに過ぎない、というくらいのウェイトで、ここでは解釈させて頂きたいなと思っております。

つまり、あくまで私の個人的な基準になりますが、
その基準で見た場合に、どういった方法が私には「やりやすいか、また、好きか」
という視点で、回答と自分の関係性を捉えようとしているのでありまして、
機械が好む物や、権威が推奨する方法を必ず選択するというわけではないので、
そういった意味からも、「どれが最善である」という考え方は、
基本的にはしないスタンスで回答文を通常読ませて頂いております。

ただ、ここまで、マクロ記録の件で色々とお話を伺えたことは、
私にとって、今回、とても良い経験となりました。
それは2chさんの存在と決して無関係ではありませんので、
そういった意味でも感謝しております。

なお、「雑音」という言葉は、質問の回答としては、少々、距離を感じる部類の文章・コメント、
を指すものとして書かせて頂きましたが、
それは、ある程度スルーして、本質的な回答部分を通常読ませて頂いております。
雑音が多くても、その中に「光る玉」(一発勝負の金のエンジェル。笑)があれば、
私としては満足です。

以上、文章が長くなりましたが、今回も回答頂き、ありがとうございました。

投稿日時 - 2010-05-13 23:05:08

書き忘れていましたが、(そのつもりもないかもしれませんが)ポイントなんて一切必要ありません。
そもそもどういう意味があるのかもわかりませんし、それを集めるほど回答を出そうとも思っていません。

今回aw-dlayさんに回答しようと思った理由は、

1、図が書かれていたこと
2、質問の仕方が丁寧だったこと
3、「色々とお教示下さい」という言葉に、謙虚さ?学ぶ姿勢?、本当に困った感、が感じられたこと
4、「必ず、お返事とポイント付与を行います。」と言う言葉に人柄が出ていたこと

以上のような感じです。

また、少し(かなり)汚い言葉を吐いたのは本当に申し訳ないと思っています。

ただ、あのような方にはあえてバカになって意見するほうが、普通に話をするよりも効果適面であるというのが私の持論です。(あくまでも私の持論であり、実際に効果があるかはわかりません)

普通に話しても軽く流されて向こうも本気で耳を傾けないでしょうからね^^

投稿日時 - 2010-05-12 14:08:13

お礼

ポイントについては、私自身もその実利的な効用については理解しておらず、
私としては、2つの考え方でもって、ポイント付与を行っております。
まず1つ目は、
頂いた様々な回答の中から特に感謝を込めて、
「この回答に救われました。とても参考になりました。」
と、1つ回答を選ぶ意味合い。

二つ目は、
「もし同じ疑問にぶつかった人がいらっしゃれば、"こちら"を参考にしてみると良いかと思います。」
という、「第三者に対するマーキング」的な意味合い。

この2つです。
もっとも、ポイント付与は1つに絞らなければならないという制約がありますから、
「ポイント付与」だけでは、こちらの気持ちを回答者の方々や、第三者の方々に、
正確にお伝えできないという風にも思っております。
なので、「お礼のコメント」として、各回答に対し、適宜、レスポンスをさせて頂いております。
皆様、ご理解のほど、宜しくお願い致します。

投稿日時 - 2010-05-13 22:26:23

コメント読ませていただきました。

マクロの記録はご存じなかったのですね。
そしたら今回の私の回答は少し段階が違います。
私の回答は、マクロの記録をとりそれを多少なりともご自分で訂正して使える程度の方への回答です。
このような質問サイトに回答し始めたのは5/7からですので、その辺の質問者さんの状況を理解できなかったのかもしれません。(長く回答したからといって質問文だけで理解できるものでもありませんが)

>頂いた回答に対するレスポンスはもう少しお待ち頂けますでしょうか。

上にも書きましたが、マクロの記録をご存知でない段階ですと今回の私の回答を完全に理解するのは時間が掛かります。目的を果たすだけでいいなら説明を読めば簡単に出来ますが、その時間を他の事に当てて時間を有意義に使ってください。

>ちなみに、2chさんは「マクロでまず、やってみて、そこから生まれたコードをあれこれいじって、最終的な成果物を得るのが一般的な作法だ」というようなことを話されていましたが、
これは参考書などにも書いてありまして、ある程度オススメな方法であるようです。

そうですね。有効な手段であることは確かです。しかし、それを"一般的"という方は他人の質問に回答するには少し早い気がします。今回は偶然にもaw-dlayさんがマクロの記録をご存知でない段階でしたので結果オーライでしたが、それ自体を回答として投稿する気には私にはなりません。他の回答者の方のように最低でも「記録+α」が必要です。
また、参考書でオススメしているのは、aw-dlayさんのようにマクロの記録を初めて知ったという段階の方へのアドバイスだと思います。また、2chさんのようにマクロの記録優先の方もいますので、"突っ込まれないようにとりあえず書いておこう"と言う意識が優先していると思います。もしマクロの記録を本当に率先して薦めるなら、"何故あなたは参考書を書こうと思ったの?"という話になります。記録では出来ないことがいくらでもあるということをその参考書自体が証明しているのです。

簡単な例を一つ書くと、

シート上の「田中」という文字の右のセルに「出勤」という文字を書きなさい。(ただし「田中」のセルの場所は毎日変わります)

以上をマクロの記録で行ってみてください。

「田中」がずっと固定されていれば一度記録をとれば済みますが、日々場所が変化する場合は毎日記録をとる必要があります。「毎日マクロの記録をする」→「毎日、"田中"の右のセルに"出勤"と書く」→「今記録しているマクロはいつ使うの?」→「記録しても明日はそのマクロは使えないんだよ。意味ないんじゃない?」ということになるのです。

しかし、自分で書けるようになれば、

Cells.Find("田中").Offset(0,1).Value="出勤"

これを一度書いておけば、「田中」の場所がどこに行こうとも一生マクロを作る必要がないのです。

このようにマクロの記録では出来ないことがいくらでもあります。しかし、マクロの記録任せになってしまうと"どのようなことが記録で出来てどのようなことが出来ないのか"ということすら自分で判断できず、結果的に無駄な時間を大量に費やすことににもなりかねないのです。(あくまでも可能性があるということ)

マクロを自分で書ける方でマクロの記録を薦めるのは、説明するのが面倒か、聞かれた事に対する知識を実は持っていない(記録任せで自分で書けない)方なのかなと私は思います。他人にアドバイスするわけですから"せめて自分で出来ることを回答するのが普通"というのが私の考えです。
まあ、これは考え方の違いですね。

※マクロの記録=学校の教科書(いろんな情報(マクロの記録の場合は全ての情報)が書かれているが、どこが大事な部分なのかが特に初心者は見分けが付かない。なのであえて言えば、基本は身に付けている(中の下)ぐらいの方向き。しかし使いこなせれば役に立つ)

※参考書=教科書(マクロの記録)の不要な部分を出来るだけ排除したもの(しかし、読者に突っ込まれることを避けるため安全策をとり、完全に不要な部分を排除することが出来ていない(自分で参考書を書いておきながら"マクロの記録を使用しなさい"的なコメントを書くという矛盾が出てくる))

※今回の私の回答=学校の先生が自分の経験をまとめて書いたプリント的なもの。(よく試験前に配られる要点を書いたプリント的なもの。完全に教科書とは一致しないが、不要な情報を極限まで削除し、要点だけを集約している)

以上のような感じでしょうか。

今回の回答は今すぐ役に立つものではない?かもしれませんが、別の部分では回答した甲斐があったののかなとも思っています。

投稿日時 - 2010-05-12 13:44:26

お礼

詳細なコメントを、こんな私のためにどうもありがとうございます。
「マクロの記録」に対する考え方について、1つ勉強させて頂きました。
今回頂いた回答は、右も左も分からない私には大変有意義、かつ、
ジワジワと私の中に効いてきそうな、そんな回答でした。
今回もありがとうございます。

投稿日時 - 2010-05-13 22:08:17

質問者さんへ

くだらん書き込みして、ほんま申し訳ないです。

改めて質問を読み直してみると、"(Excelの普通の機能でダメなら)マクロでもOK"ということのようですね。

VBAのカテゴリ?でしたので、てっきり勘違いしていました。

もう解決済みだとは思いますが、

1、範囲を選択する(今回はB1:E4)
2、データ→並び替え→オプション→列単位→OK
3、最優先されるキーに最優先行を入れる(今回は行3)
4、昇順か降順を選ぶ(今回は降順)
5、OKを押す

で可能です。(Excel2003)

くだらないやり取りしてますが回答はしますんで、不明な点があれば遠慮なく書いておいてください。

投稿日時 - 2010-05-10 05:55:34

お礼

回答の補足をありがとうございます。
2chさんとのやりとりが消されておりますが、それはさておき、
質問に対する回答の箇所については消されずに残して頂けておりますので、一安心です。
なお、頂いた回答に対するレスポンスはもう少しお待ち頂けますでしょうか。
私はまだまだ初心者であるため、現在、頂いた説明を理解する前の下処理を頭にしているところです。笑
ちなみに、2chさんは「マクロでまず、やってみて、そこから生まれたコードをあれこれいじって、最終的な成果物を得るのが一般的な作法だ」というようなことを話されていましたが、
これは参考書などにも書いてありまして、ある程度オススメな方法であるようです。
その意味で、彼も彼で、部分的には参考になるお話をされていたんだなぁ、と今は思っている次第です。
ただ、彼の回答には雑音も多く、その部分に関してはもう少し自重して頂きたかったですね。
さて、
「VBAのカテゴリ?でしたので、てっきり勘違い」
という箇所について、お答えすると、
私自身、マクロ=VBA のような、厳密には誤った理解で書き込みをしておりましたので、
正直な所、okwaveninokunさんの回答の形式で、全く問題ありませんでした。
つまり、私は「最初から、手書きでもってコードを書き起こすタイプ」であるため、、
マクロで記録するような方法を今までしたことがありませんでしたので。
もっとも、今後はケースバイケースで、2chさんのアドバイスにありました方法(マクロから起こす方法)も併せて使っていければなと思っております。

それでは、回答解読後、早急にレスポンスをさせて頂きたいと思っておりますので、何卒、宜しくお願い致します。

投稿日時 - 2010-05-12 01:21:09

ANo.4

普通に列方向の並べ替えはできますよ。


http://www.serpress.co.jp/excel/vba009.html

並び替えのオプションで、指定ができます。

マクロではOrientationという引数です。

通常設定の値は
xlTopToBottom
それを
xlLeftToRight

とにかくマクロの記録でやってみることが一番かと。。。

投稿日時 - 2010-05-07 22:48:55

お礼

なるほど、そういった方法があるのですね。
なかなか良さそうな印象です。
近いうちに、トライしてみたいと思います。
有力な情報をどうもありがとうございます。

投稿日時 - 2010-05-07 23:24:24

ANo.3

> 少なくとも、コピー&ペースト を使わない方法で、解決したいと考えています。
では、「バブルソートのアルゴリズム」で列ソートするプログラムを書く、しか無いような。

投稿日時 - 2010-05-07 22:19:26

お礼

バブルソート という言葉を初めて知りました。
軽くググってみましたが、なんだか面白そうですね。
仕組み自体は単純そうですが、コード自体は長く、また、ゴチャゴチャしそうな気がします。
しかし、この方法が最適解ということになれば、私はトライすることになるでしょう。
指針になりうる回答を、ありがとうございます。

このバブルソートでプログラムを組む場合、
結構大変な作業になりそうでしょうか…。
これだけが気がかりです…。

投稿日時 - 2010-05-07 22:38:42

ANo.2

コピー&ペーストする際に、「形式を選択して貼り付け」を選ぶと右下に「行列を入れ替える」オプションがあります。

あれを利用するのは?
1)表全体をコピー。
2)別シートにでも「形式を選択して貼り付け」-「行列を入れ替える」でペースト。
3)2)をソートして表全体をコピー。
4)1)の元に「形式を選択して貼り付け」-「行列を入れ替える」でペースト。

投稿日時 - 2010-05-07 21:48:01

お礼

下の「お礼欄」に書かせて頂きましたが、
クリック1発で並べ替えたり、また戻したりを、自由自在にできる形式で、
並べ替えを行いたいと思っています。

少なくとも、コピー&ペースト を使わない方法で、解決したいと考えています。
何か、妙案はありますでしょうか?
また色々と教えて下さい。

投稿日時 - 2010-05-07 22:04:32

ANo.1

転置してソートして転置しなおせばよいのでは。

もちろんVBAでソートする手もあります。

参考URL:http://www.google.co.jp/search?hl=ja&q=Excel+%E8%BB%A2%E7%BD%AE&lr=lang_ja

投稿日時 - 2010-05-07 21:47:01

補足

「お礼」に対する、補足です。

>もちろんVBAでソートする手もあります

転置を使った方法で、VBAで「自動並べ替えプログラム」なるものを作れば、
ワンクリックで、並べ替え完了!
なんてものも作れるでしょうか?

その方法で考えた場合、ざっくり言って、
そのプログラムは結構複雑なものになりそうですか?

ちなみに、
並べ替えを行う列は、100以上あります。
また、指標自体は、10くらいあります。

プログラムコードの複雑さ、長さ、
それと、
そのコード実行時の処理速度など、
ざっくりで良いので、もし何か分かることがありましたら、
教えて下さい。
私も私で、色々と調べてみたいと思います。

投稿日時 - 2010-05-07 22:09:51

お礼

転置という言葉を(もちろん、その意味も)初めて知りました。
行方向の並べ替えに比べ、列方向での並べ替えは、どうやら容易にはできそうにないことが、
まず分かりました。
転置→並べ替え→再転置(つまり、戻す)
ということがどの程度、面倒な作業かは分かりませんが、
私の目標とするものは、

▲▼ このようなマークでもって、瞬時に並べ替えができるような仕組みで考えています。
ただし、転置を挟む方法だと、一手間増えそうなので、できれば、直接、並べ替えを行いたいと思っています。

ワンクリックで、並べ替え完了!
というのを目指しています。
クリックが3回以上必要な方法では、解決策には成り得ないとお考え下さい。

しかし、転置という概念を知り、参考になりました。
回答頂き、ありがとうございました。
また色々と教えて下さい。

投稿日時 - 2010-05-07 22:01:04

あなたにオススメの質問