• ベストアンサー

データ→並べ替え→オプションについて

VBAマクロで自動で並べ替えを行っていますが、 データ→並べ替え→オプションで並べ替えオプションの 「並べ替え順序の指定」の欄に自分が作成したリストがあるのですが、(上から13番目、一番下に存在)マクロを実行すると、その通りに並べてくれたり、くれなかったりと気まぐれです。 こんな経験をしたかたいらっしゃいますか。 もしいればどういった原因が考えられるのでしょうか? わかる方教えてください。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >「マクロで、独自の並び替えリストを付け加え、それでもって、「並び替え」をさせ、独自の並び替えリストは、削除します。」 こうやって書くのは簡単でも、覚えていたものをそのままやってみたら、なんとうまくいかないので、試行錯誤してしまいました。(参りましたね(^^;)いいかげんに、覚えていたのとは、かなり差があります。 問題は、いわゆるオーダーカスタム(自分で作った順番)が正しくあるかどうか、それは、どこにあるか、ということを正確に把握するためには、一旦、VBAで、オーダーカスタムを与えて、そこで、「リスト番号」を取らないとダメだっていうことなのです。ただし、削除しなくてもよいです。カスタムリストに既にある時は、カスタムリストには入りません。 そこで、こんな風にやってみたらどうでしょう? ちなみに、Header:=xlYes でないと、うまくないようです。 ただ、数字の場合は、一旦、文字列に変わってしまいますね。 Sub SortSample1() Dim Rng As Range, myList As Variant, ListNum As Integer Set Rng = ActiveCell.CurrentRegion  myList = Array("社長", "専務", "常務", "部長", "次長", "課長", "係長", "主任")  Application.AddCustomList ListArray:=myList  ListNum = Application.GetCustomListNum(myList)  Rng.Sort Key1:=Rng.Cells(1, 1), Order1:=xlAscending, Header:=xlYes, _     OrderCustom:=ListNum + 1, MatchCase:=False, Orientation:=xlTopToBottom, _     SortMethod:=xlStroke Application.DeleteCustomList ListNum End Sub

okkouta
質問者

お礼

本当にすみません。ただ恐縮するばかりです。 色々知識を与えていただき、ありがとうございます。

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

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。Wend02 です。 直接の回答にはならないかもしれませんが、通常、私は、マクロでは、独自の並び替えのリストが必要なときは、既に並び替えリストがあるなしに関わらず、必ず、マクロで、独自の並び替えリストを付け加え、それでもって、「並び替え」をさせ、独自の並び替えリストは、削除します。 VBAのお約束のようなものだ、と私は思っています。 それ以外に関しては、問題があったコードをみてみないとはっきりしたことは言えませんね。

okkouta
質問者

お礼

3つの質問に親切に答えていただきありがたく存じます。 「マクロで、独自の並び替えリストを付け加え、それでもって、「並び替え」をさせ、独自の並び替えリストは、削除します。」 どういう技なのか気になります。 如何せん自分でマクロを組む力量がないので、教えてもらったコードをいじくることくらいしかできない自分が情けない。 マクロコードを構築できる皆さんにはただただ敬服するばかりです。 よろしければその技も教えていただければ使用したいと思うのですが・・・ (私だけのために3つもの質問に答えていただきながら頼むのもあつかましいのですが)

okkouta
質問者

補足

今、扱っていて「あれ」と思ったのですが、昼に行っていたパソコン(職場)では並べ替えオプションの独自の並び替えリストの最後に作成したリストがあったのに、家のパソコンで開いてみたらないんです。 質問の気まぐれ現象もこれに起因(原因はわからないが・・・)するんですかね~?

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

関連するQ&A

  • エクセルのデータの並べ替えで

    A列からKまでにデータが入っています。データの並べ替え時はいつも、最優先される列が〔J〕次に〔A〕そして〔B〕に決まっており、範囲の先頭行は〔データ〕にチェックを入れ実行しています。メニューから〔データ〕→〔並べ替え〕をクリックすると上記の状態が自動的(?)に入力されていて〔OK〕を押すだけで並べ替えが出来たのに、急に毎回指定しないといけなくなりました。〔範囲の先頭行〕の箇所がデフォルトで〔タイトル行〕にチェックが入っており、毎回それを〔データ〕にチェックを入れ替え、最優先順序を指定しなければなりません。何が理由でそうなってしまったのかは分かりませんが、元のように毎回指定しなくて並べ替えできるようにする方法は有るでしょうか。ご存知の方がいらっしゃったら教えて頂けますでしょうか。宜しく御願い致します。

  • エクセルの「並べ替えオプション」ダイアログについて

    「並べ替え順序の指定」ボックスで、ユーザー設定リストに登録してある文字列を使うと並べ替えの順序を指定できるのはわかるのですが、「標準」の使い方とその意味がよくわかりません。 また「ふりがなを使う」とは、多分漢字が本来持っているふりがなを使うことだと思うのですが、「並べ替え順序の指定」ボックスで登録文字列を選択した場合に、ふりがなを使う、使わないを選択する意味はあるのでしょうか。登録されている文字列の順に並べ替えられるはずなのでふりがなは関係ないような気がするのですが・・・。

  • エクセル ユーザー設定リストで並べ替え

    エクセルで並べ替えをするときに、「ユーザー設定リスト」に沿った並べ替えをしたいです。 「並べ替え」のオプションを選んで、「並べ替え順序の指定」で任意のリストを選ぶのですが、実際に並べ替えると、「最優先されるキー」しかリストに沿った並べ替えが行われておらず、「2番目に優先されるキー」と「3番目に優先されるキー」は、通常のアイウエオ順での並べ替えになってしまいます。 何かいい方法はないでしょうか?

  • 並べ替え

    A1からA20番まで名前が入力してあり、B1からB20まで点数を入れながら、常に高い点数をトップになるよう自動的に並べ替える方法はなかったでしょうか?いつも点数の入力がすんだ後、→並べ替えの作業をしています…やはりマクロを使った方が早いでしょうかね。

  • ■マクロの有効オプションとは何でしょうか?

    名簿リストのNOを指定すると自動的に宛名のフォーマットになり印刷ボタンを押すと宛名がプリントされる様にExcel2000でマクロを使って作ったのですが、突然印刷されなくなりヘルプを見ると「このドキュメントはマクロの無効が設定された状態で開かれています。マクロを有効にするにはドキュメントを閉じた後再び開き、マクロの有効オプションを選択してください」と言うメッセージが出て来ました。マクロの有効無効の指定はどこでするのでしょうか?教えてください。

  • エクセルのマクロでの並べ替えにおいて

     できるExcel2000マクロ&VBAを読みながら,マクロに初挑戦しました。ところが初めからつまづいています。  住所録の並べ替えです。131人分の住所録をフリガナをキーに並べ替えるのをマクロに記録しました。保存して,早速機能を確認しようと132人目の住所などを入力し,マクロを実行しましたが,機能しませんでした。 Moduleは以下のようになっています。 Sub 五十音順並べ替え() ' ' 五十音順並べ替え Macro ' マクロ記録日 : 2005/1/12 ユーザー名 : ' ' Range("A1:G131").Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range _ ("C2"), Order2:=xlAscending, Key3:=Range("B2"), Order3:=xlAscending, _ Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:= _ xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal, DataOption3:=xlSortNormal End Sub 最初の Range("A1:G131") の131が臭いと思い,この数字を132にしたり,住所録の131番目以上に新しいデータを挿入したりするとマクロは機能します。きっと当然のことなのでしょうが・・・。おそらく記録するときに何か問題があるのではないかと思うのですが,解決法をご教授下さい。

  • 【Excel・並べ替え】かな、アルファベット、数字などの順序

    「Excel」においての「並べ替え」で、文字における昇順、降順をしたときの順序には決まりがあるのでしょうか? また、数字、アルファベット、かな、カタカナ、漢字が一列に混在している列を昇順にしたところ、この順序で並べ替えられていましたが、漢字のあとにさらにカタカナが並べられていました。これはなぜなのでしょうか? また、あるリストをあいうえお順にしたいのですが、上のようにいろいろな文字種類が混在していますと、区分されてしまいますが、あいうえお順にしたい場合にはどうすればよいのでしょうか?その語彙のかな表記を隣の列に足して、それらも並べ替えの枠組みに入れてに実行する…しかないのでしょうか?

  • ショートカットのオプション?について

    今まで様々なアプリのショートカットを作成してスタートメニューに登録するなんてことはしょっちゅうやってきたのですが、ひょんなことからショートカットのオプション?なるものが存在することを知りました。 それは、ショートカットのプロパティにて、リンク先に指定されているファイル名のうしろに「/AUTO」をつければ自動実行されるというものでした。ご存知の方にとっては「常識じゃん!」という感じでしょうが私にとっては大発見でした。 そこで、この「オプション」ですが、もっと他にもいろんな機能があるのでは?と興味津々なのです。あるんでしょうか?あるならすごく知りたいっっ!! ということで、よろしくお願いいたします。

  • 複数のシートにまたがるマクロの記述方法

    複数のシートにまたがるマクロって書けるのでしょうか?自動記録でマクロを作ってチビチビ編集しているのですが、シートを指定したマクロが書けません。4枚のシートがセットで連動しているのですが、一度のマクロの実行ボタンで全てを順序良く実行させたいのです。 ご存知の方教えてください。

  • Excelマクロの変化するデータ範囲の記述の方法

    初心者です。データ並べ替え(昇順)を自動実行するマクロを作成したいのですが、データ範囲が増減しても正しく実行できるようにするにはどうすればよいでしょうか。マクロの自動記録で作成しましたが、visual basic editorで範囲の修正する箇所を教えてください。

専門家に質問してみよう