• 締切済み

2003で作ったマクロを2000で実行するとエラーがでてしまう!

エクセル2003で作ったマクロを2000で実行すると、「コンパイル エラー : 名前付き引数が見つかりません。」とエラーが出てしまいます。 2003ではエラーが出ないので間違ってはいないと思うのですが、原因が分かりません。何卒、ご教授いただけませんでしょうか? 内容は以下になりますが、「DataOption」が反転で白字になるのでここに原因があると思うのですが、見よう見まねで作ったのでさっぱり分かりません…。 予約帳の入力フォームで、別シートに作ってあるリストから選択して月別に登録していくというような内容です。 宜しくお願い致します。 With ActiveSheet mySNewRow = .Range("A65536").End(xlUp).Row + 1 .Cells(mySNewRow, "A") = cboDay.Value .Cells(mySNewRow, "B") = cboArea.Value .Cells(mySNewRow, "C") = cboTime.Value .Cells(mySNewRow, "D") = cboBusnumber.Value .Cells(mySNewRow, "E") = txtName1.Value .Cells(mySNewRow, "F") = txtNumber.Value .Cells(mySNewRow, "H") = txtCharge.Value .Cells(mySNewRow, "I") = cboLodging.Value .Cells(mySNewRow, "K") = txtRemarks.Value .Cells(mySNewRow, "L") = cboInput.Value .Cells(mySNewRow, "G") = lstName1.Value .Cells(mySNewRow, "J") = lstName2.Value End With Range("A6:A605").Select Range("A5:L605").Sort Key1:=Range("A6"), Order1:=xlAscending, Key2:=Range _ ("C6"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _ xlSortNormal, DataOption2:=xlSortNormal Unload userform1 userform1.Show End Sub

みんなの回答

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

DataOption1~3はExcel2002で追加された引数で、それ以前のバージョンでは使えません。 2002以降のバージョンでDataOption1~3にxlSortNormalを指定した場合は、それ以前のバージョンのSortと同じ動きをするので、それ以前のバージョンに移植する場合は「DataOption1~3:=xlSortNormal」の部分を削除しても構いません。 xlSortNormal以外の値を指定している場合は、旧バージョンと並び替え結果が違ってしまうので「自分で並び替えルーチンを作成する」必要があります。

回答No.1

こんにちは。 xl2000でソートをマクロ記録してみれば分かると思いますが、 xl2000には、引数DataOption1、2はありませんので xl2000で実行させるためには DataOption1:= xlSortNormal DataOption2:=xlSortNormal を省かないといけません。

関連するQ&A