プロが教えるわが家の防犯対策術!

エクセル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

A 回答 (2件)

DataOption1~3はExcel2002で追加された引数で、それ以前のバージョンでは使えません。



2002以降のバージョンでDataOption1~3にxlSortNormalを指定した場合は、それ以前のバージョンのSortと同じ動きをするので、それ以前のバージョンに移植する場合は「DataOption1~3:=xlSortNormal」の部分を削除しても構いません。

xlSortNormal以外の値を指定している場合は、旧バージョンと並び替え結果が違ってしまうので「自分で並び替えルーチンを作成する」必要があります。
    • good
    • 0

こんにちは。



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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!