advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 2684 for 並べ替え (0.002 sec.)
[[20100918213036]]
#score: 4564
@digest: ae6b4f82a258608d8f105c8b2528a884
@id: 51403
@mdate: 2010-10-05T11:56:07Z
@size: 4354
@type: text/plain
#keywords: レザ (17315), strreverse (4960), crng (4836), ト+ (3791), 並び (2684), び替 (2651), の並 (2443), 頭文 (2342), 昇順 (2178), ichinose (2066), トフ (1737), オー (1484), 替え (1391), ルタ (1245), xlascending (1190), evaluate (1094), rng (1073), フィ (1043), ァベ (1041), ィル (992), ベッ (928), えの (910), 業列 (893), 、オ (827), offset (821), 列以 (821), ラム (780), ーブ (771), ザー (684), 列ま (617), 同時 (610), 意味 (581)
『並び替え』(bb)
Excel2007 Windows 7 例 A1 A1 A1A1 B1 A1A2 C1 B1 A1A1 B1A1 B1A1 B1A2 C1A1 C1 A1A2 C1A1 B1A2 C1A2 C1A2 数字のみのデータと、アルファベット+数字のデータを並び替えしたいのですが、 数字のみは昇順 アルファベット+数字は基本は頭文字で昇順しますが、頭文字が違っても 二文字目以降が全く一緒のものは上に並べるといものです。 昇順にすると例左の様になってしまいますが、例右の様にしたいです。 説明下手ですいませんが、詳しい方お願いいたします。 ---- VBAを使うと・・・、 標準モジュールに '====================================================== Sub test() Dim rng As Range Dim crng As Range Dim ml As Long Set rng = Range("a1", Cells(Rows.Count, "a").End(xlUp)) ml = Evaluate("max(len(" & rng.Address & "))") For Each crng In rng With crng .Offset(0, 1).Value = String(ml - Len(.Value), " ") .Offset(0, 1).Value = .Offset(0, 1).Value & StrReverse(.Value) End With Next With rng.Resize(, 2) .Sort Key1:=.Cells(1, 2), Order1:=xlAscending, header:=xlNo End With rng.Offset(0, 1).Clear End Sub データがA列1行目から、あるとすると・・・・、 上記のtestを実行してみてください。尚、B列は、プログラムが作業列として 使っていますので、レザーブしておいてください。 ichinose ---- ichinoseさん、ありがとうございます。 最初に言えばよかったのですが、、 この並び替えの条件を、オートフィルタの並び替えの様にすることはできますか? といいますのも、A列以外にも入力がありその列も同時に並び替えたいのです。 ちなみに、 >上記のtestを実行してみてください。尚、B列は、プログラムが作業列として >使っていますので、レザーブしておいてください。 上記はB列を空白にしておくということでしょうか? ---- >この並び替えの条件を、オートフィルタの並び替えの様にすることはできますか? ↑これ、意味がわかりません、オートフィルタの並び替え って? >A列以外にも入力がありその列も同時に並び替えたいのです。 ↑これがしたいというなら、並べ替える列を増やせばよいのですが・・・。 >レザーブしておいてください。 × リザーブの間違いです。つまり、B列はプログラムが使用しますから、 ユーザーが値を入力しても消されてしまいますよ という意味です。 例としてB列を作業列にしただけです。作業列は、どこでもよいです。 コード内の列指定を変更すれば・・・。 >Sub test() > Dim rng As Range > Dim crng As Range > Dim ml As Long > Set rng = Range("a1", Cells(Rows.Count, "a").End(xlUp)) > ml = Evaluate("max(len(" & rng.Address & "))") > For Each crng In rng > With crng > .Offset(0, 1).Value = String(ml - Len(.Value), " ") > .Offset(0, 1).Value = .Offset(0, 1).Value & StrReverse(.Value) > End With > Next > With rng.Resize(, 2) > .Sort Key1:=.Cells(1, 2), Order1:=xlAscending, header:=xlNo > End With > rng.Offset(0, 1).Clear >End Sub まずは、Helpやレファレンスを使って上記の意味を理解してください。 尚、VBAはまるっきり知らないし、覚える気もないという考えなら・・・、 (これは、価値観の違いですから、仕方ないですよね!!) 他の投稿を待ってください。 ichinose ---- ichinose様 >>この並び替えの条件を、オートフィルタの並び替えの様にすることはできますか? >↑これ、意味がわかりません、オートフィルタの並び替え って? たぶん言葉を間違えているだけでしょう。 オートフィルタの意味をご存知なく、昇順並び替えのことを言われているのかと。 おそらく、B列〜○列まで、A列の値に対応する何らかのデータが入っており、 A列を言われているような変則の昇順に並び換える時に、行を丸ごと並び変えてほしいか、○列まで並び変えてほしいのかと。 bb様 どこの列まで、どのようなデータが入っていて、どこの列までをどのような条件で並び変えたいのか、 明確にしてください。 (へむ) ---- >オートフィルタの並び替え オートフィルタをかけた後、下三角ボタンを押した際のメニュー内にある「昇順で並べ替え」のことでしょう。 (確か2003で追加された機能だったかと) もっとも通常の並べ替えと変わらないと思いますが… (独覚) ---- 皆様、お返事ありがとうございます。 >この並び替えの条件を、オートフィルタの並び替えの様にすることはできますか? すいません。理解していない言葉で書いてしましました。。 A列を並び替えた時に、ほかの列も行ごと並び替えたいということです。 まず、ichinoseさんが作ってくださいましたコードを勉強したいと思います。 (bb) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201009/20100918213036.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97036 documents and 608025 words.

訪問者:カウンタValid HTML 4.01 Transitional