• 締切済み

エクセルマクロについて教えてください

エクセルで A~F列に 「 組 No. 枠  記号 コードA コードB」と並べています。 2行目以降に、「記号」を除き数値が入ります。 ※ お手数をおかけしますが画像を確認願います。ご覧頂いたほうがわかりやすいと思いますので。 これを、 (1) 組・No.・枠 固定 (記号・コードA・コードBが並び変わっても不動) (2) コードA 降順 (3) コードB 昇順 (4) 2~9行目の コードAを昇順で枠Aに指定された順に 上記のように並べ替えをしたい場合、どのようなマクロを作成したらよろしいでしょうか?  

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

記号,コードA・Bのセル範囲を選ぶ データメニューの並べ替えを開始する 添付図のように  第1優先 コードB 昇順  第2優先 コードA 降順  先頭行はタイトル行にマークして 並べ替える と出来ます。 必要なら以上の操作を新しいマクロの記録でマクロに録って,ご利用いただいても勿論構いません。 #ただし,あなたが用意できる実際のホンモノデータで,コードBがきちんと枠の数ずつ用意されているのかといった現実の問題点についてキチンと確認をして,必要に応じてマクロを考えないとイケナイかもしれませんね。必要なら別途のご相談として改めて(例えばじゃなく)具体的な事実の状況を添えて,ご質問を投稿してみてください。

tmksl
質問者

お礼

わかりにくい質問にも関わらず、 ご回答いただきありがとうござます。

全文を見る
すると、全ての回答が全文表示されます。
  • mzon
  • ベストアンサー率48% (26/54)
回答No.1

Range("D2:F25").Select Selection.Sort Key1:=Range("E2"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin Selection.Sort Key1:=Range("F2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin Range("D2:F9").Select Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin だそうです。(Excel2000です) 単純にやりたいことをマクロの記録で記録すればいいと思いますよ。

tmksl
質問者

お礼

わかりにくい質問にも関わらず、 ご回答いただきありがとうござます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • よろしくお願いいたします。Excelで並べ替えなの

    よろしくお願いいたします。Excelで並べ替えなのですが、行が多く手動では、時間がかかってしまいます。写真ではA列がメーカーB列がスタイル番号C列が車名、D列が値段が記載されてます。 (1)最初にA列をメーカーごとで並べ替え、(並び順不問) (2)その後に各メーカー枠の中でスタイル番号ごとに並べ替え(昇順) (3)その後に各メーカー枠の中で値段ごとに並べ替えます(降順) です。 行が、多くて手動でやるのは大変なので、マクロでなんとか出来ないでしょうか?よろしくお願いいたします。

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

    エクセル(マクロ含む)で、列の並べ替えはできますか? 例えば、 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列に来るような形で、並べ替えが行われます。 並べ替えが行われるのは、あくまで、「列」において、です。 よく見かける「『行』が移動するような並べ替え」とは異なるものですので、 誤解無きよう、宜しくお願い致します。 以上、どなたか、お分かりになるかた、色々とお教示下さい。 必ず、お返事とポイント付与を行います。

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

  • エクセル:「かな」同士の並べ替え

    エクセルの「データ>並べ替え」のことです。 かなとアルファベット(と記号)では降順、昇順にしても、 区別させなくすることはできるのでしょうか? たとえば 「A列車でいこう」 は、かなでは「え」です(発音)。 そして 「愛がすべて」 では「あ」です。 しかし並べ替えをするとこれらは 「あ」でまとまりません。 「アルファベッドのA」と「あ行のあ」 で大きく区別されてしまいます。 これを「かな」(この場合「あ行」)でまとめる ことはできないのでしょうか? ちなみに当方のエクセルはバージョン97です。 バージョンには関係ないとは思いますが、 最新のではできるのなら早速使ってみようと思いますが、 そもそもそのような機能は可能でしょうか?

  • エクセルのオートフィルタについて

    エクセルのオートフィルタについて教えてください。 エクセル2003です。 データ-並べ替え で複数の列に対してレベルごとに昇順で並べ替えをしますが、これをオートフィルタではできないのでしょうか? 例えば、A列にクラスデータがあり、それをオートフィルタで昇順にしておいて、それをレベル1として、B列に点数があり、それをオートフィルタで降順にして、それをレベル2とするような使い方です。

  • excelのマクロで条件による行の挿入

    列AとBがあり列Aに学校のクラス名A組、B組、C組・・・(20クラスほど)と氏名が 入るエクセルシートがあるのですが 先頭行はA組から始まり5行区切りで数え、(A組も5行のうちに入る) その5行内に次のB組が入らないように空白行を挿入したいです もし、5行以内にB組がない場合、次の5行でまたB組があるか判定しなければ氏名5つ あれば空白をいれてというのを20クラスぶん作るマクロは可能でしょうか? VBAの知識がさっぱりないので途方にくれています。 元のデータの例   マクロ実行後 列A   列B      列A   列B A組           A組   氏名1 111      氏名1 111  氏名2 222      氏名2 222 B組           空白行挿入 氏名3 333      空白行挿入 氏名4 444      B組 氏名5 555      氏名3 333 氏名6 666      氏名4 444 氏名7 777      氏名5 555 C組 氏名6 666              氏名7 777              空白行挿入              空白行挿入              空白行挿入              空白行挿入              C組  

  • エクセルのマクロで教えてください

    excelのマクロで2つお伺いします 1.右のセルの内容を下に移す A 1 2 3 4 B 3 4 6 を A 1 A 2 A 3 A 4 B 3 B 4 B 6 メニューから下に何行か行を挿入して おいて特殊ペーストで行列を いれかえるとすればできたのですが 何通りもある場合マクロを使って できないでしょうか 2.リレーショナルへの対応 A 1 2 B 2 3 4 1 あ う 2 い 3 お 4 か き 左側1列目は右に続く(個数不定)記号を もっているとして1番目(A、、) 2番目(1、、)、3番目(あ、、)を 結び付けたいのです 上の例ですと A あ う い B い お か き をマクロで出力できますでしょうか ご存知の方いらっしゃいましたら 教えてください。よろしくお願いします。

  • Excelマクロで行を空ける

    説明が下手でスイマセンがお付き合い下さい。 A列に日時(2010/2/1/ 00:00)が昇順に500行並んでいます。 A列の日時で7:00-19:00、19:00-7:00の間に2行空ける。 これを、マクロで行いたいのですが、宜しくお願いします。

  • 範囲指定して並べ替えするマクロが有効に働かない

    マクロ初心者です。宜しくお願いします。 範囲指定して並べ替え(昇順)をしたいのですが 一番上の行が並べ替えの範囲指定から漏れているのか正しく並べ替えができず データの2行目から並べ替えがスタートしています。 手動で行う場合、データ範囲の先頭行を、「タイトル行」と「データ行」を指定できますが問題が起こるのはこの関係でしょうか? ■以下式をマクロの記録から作成しました ■マクロの範囲指定自体には問題ありません ■この動作を、範囲を変えて繰り返していますが、正しく並び替わる場合とそうでない場合があります ■繰り返しの式は、範囲を変えているだけで他は全て同じです ■書式は全て数値になっています ■同じ操作を手動でやると問題なく並べ替えができます どなたか解決方法があれば教えてください。 Selection.AutoFilter Field:=50 Range("AS8:BF1000").Select Selection.Sort Key1:=Range("AX8"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin, DataOption1:=xlSortNormal

  • Excel ピボットテーブルで並び替えをしたい

    Excelでピボットを使って並び替えがうまくいきません 例   A    B    C     1   名前 地区名 施設名 2    太郎 大阪  グランド 3   太郎  大阪 グランド 4   花子   東京 公園 5    花子  東京  公園 6   花子  東京  公園 7   正義 名古屋 球場 8    正義 名古屋 球場 となっているのを並べ替えとフィルタを使用したら 正確にできたのですが、ピボットを使用しピボットのフィールドリスト にある「名前」にチェックを入れてレポートを作成したら意図しない 降順、昇順になりました。よく見ると、ひらがなを使用した「名前」が 昇順の先頭になり、行番号1~6まで昇順、7~20まで、21~33というような結果になっています。行レベルの右にある▼をクリックして 昇順、降順をクリックしても同じ結果でした。(すべて選択)などを見ると昇順、降順の結果通りに並んでいます。できれば、ピボットで 昇順、降順を意図した結果(ここでは五十音順)にしたいのですが わかる方教えてください

PCで用紙設定が出来ない
このQ&Aのポイント
  • PCで用紙設定ができない理由とは?
  • 特定の用紙サイズを設定できない原因とは?
  • EPSON製品の用紙設定に関する問題の解決方法
回答を見る

専門家に質問してみよう