[XL2000]Excel起動後VBAで並べ替えを行うとユーザー定義リストが無効

文書番号: 415907 - 対象製品
この記事は、以前は次の ID で公開されていました: JP415907
上記の製品の総称を以下 Excel とします。

すべて展開する | すべて折りたたむ

目次

概要

この資料は、Microsoft Visual Basic Programming System Applications (以下 VBA) を使用してデータの並べ替えをおこなうと、ユーザー定義リストが無効になる現象につ いて説明しています。

詳細

ユーザー定義リストにリストを追加し、追加したリストの項目の順番にしたがって並べ 替えをおこなうことができますが、指定したユーザー定義リストの順番で並べ替えがお こなわれない場合があります。
この現象は、以下の条件を満たした場合に発生します。
  • Excel を起動した直後である。
かつ
  • VBA を使用して並べ替えをおこなっている。
かつ
  • Excel の既定で設定されているリスト以外のユーザー定義リストを使用して並べ替え をおこなっている。

再現手順

  1. Excel 2000 を起動し、新規ワークブックを作成します。
  2. 以下のデータを入力します。
          A1: red
          A2: blue
          A3: green
          A4: yellow
          A5: pink
    
  3. [ツール] メニューの [オプション] より [ユーザー定義リスト] タブをクリックし ます。
  4. "リストの取り込み元範囲" に "$A$1:$A$5" を指定し、[インポート] ボタンを クリックします。
  5. [OK] ボタンをクリックします。
  6. 新規ワークブックを追加し、以下のデータを入力します。
          A1: pink
          A2: blue
          A3: green
          A4: blue
          A5: yellow
          A6: pink
          A7: red
          A8: blue
          A9: red
    
  7. Visual Basic Editor を起動します。
  8. 標準モジュールを挿入し、以下のコードを記述します。
          Sub Custom_Sort()
              Range("A1").Sort Key1:=Range("A1"), Order1:= _
                 xlAscending, Header:=xlGuess, OrderCustom:=13, _
                 MatchCase:=False, Orientation:= xlTopToBottom
           End Sub
          注意: OrderCustom 引数の値は、ユーザー定義リストの一覧に表示されている位置
                の値になります。日本語版 Excel 2000 の既定では、12 個のユーザー定義
                リストが設定されています。既にユーザー定義リストを作成している場合は、
                OrderCustom 引数の値は変わってきますので、ユーザー定義リストの一覧で
                確認し値を変更してください。
    
  9. 手順 6 で入力したワークシートをアクティブにし、Custom_Sort プロシージャを実 行します。
  10. 以下のようにデータの並べ替えがおこなわれます。
          A1: red
          A2: red
          A3: blue
          A4: blue
          A5: blue
          A6: green
          A7: yellow
          A8: pink
          A9: pink
    
  11. ブックを保存し、Excel 2000 を終了します。
  12. Excel 2000 を再度起動し、保存したファイルを開きます。
  13. Custom_Sort プロシージャを実行します。

結果

以下のように標準の順番で並べ替えがおこなわれます。
  A1: blue
  A2: blue
  A3: blue
  A4: green
  A5: pink
  A6: pink
  A7: red
  A8: red
  A9: yellow

状況

この問題は Microsoft Excel 2002 で修正いたしました。

回避策

[ツール] メニューの [オプション] で 1 度 [オプション] ダイアログを表示させま す。設定の変更は必要ありません。

備考

  • Excel 起動直後であっても、操作でユーザー定義リストを使用して並べ替えをおこ なった場合は、正常に並べ替えられます。

プロパティ

文書番号: 415907 - 最終更新日: 2004年5月18日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
キーワード:?
9.0 custom kbbug list macro sort vba xl9 マクロ ユーザー定義 リスト 並べ替え 再起動 KB415907
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com