Sortメソッドでコンパイルエラーが表示されてしまうが?

Question 028k 拙著「組み方講座」 Previous Next
280ページ [3-5-13図] ◆ 環境・・ Excel 2000 & Windows XP
詳細は こちら
「Excel2002以外ではこの部分が異なる」と注意書きがあります。
Excel97,2000ではどのようにコーディングすればよいのでしょうか?
実行するとエラー 「名前付き引数がありません」 になってしまいます。
Answer Excel 2000、97、Macintosh版v.X、2001、98 Copyright (C) 2004.3.13 永井善王
拙著「ExcelVBAマクロ組み方講座」をご購読、ありがとうございます。
実践編第3章4、5、6にまたがって「請求書発行」マクロを学習中で、ご質問はその中ほどですね。

280ページの [3-5-13図] のマクロの中に Sortメソッドを利用する次のコード
    Range("A1:D9").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
       xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
       SortMethod:=xlPinYin, DataOption1:=xlSortNormal
コンパイルエラー があり、そこにご質問文のとおり注意書きがあります。
なぜかというと、 Sortメソッドは Excel 2002 へのバージョンアップ時に引数が追加され、自動記録されるマクロコードも変わったため、それより前のバージョンで実行するとエラーが出てしまうからです。

ご質問は 「Excel97,2000ではどのようにコーディングすればよいのでしょうか?」 ということですが、この部分は、ここで初めて入力するわけではありません。直前の第3章4 での学習で自動記録したマクロを使っています。 260ページ [3-4-10図] の 「↑3.で記録:当月分データを並べ替え」 のところに 「Excel2000、97、Macintosh版v.X、2001、98の場合」 として次のコード
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
       OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
       SortMethod:=xlPinYin
があります。あなたは Excel2000で学習されているようですから、このように記録されたはずです。ご確認ください。

 

Excel VBA Macro