質問: エクセルxpと2000でのマクロ 初歩的な質問になりますがご存知の方は是非教えて下さいm(__)m excelxpでリストから並び替えのマクロを記録させてフォームボタンに登録したのですがそのマクロをexcel2000で開いて実行しようとすると「コンパイルエラー/プログラムまたはライブラリィがありません」とでて実行できません。 ボタンでなくメニューバーからマクロを実行すると実行できます。 番号の振り直しのマクロもフォームボタンからは上記同様できません。 でも●●シートへ戻るとか振り仮名を表示するとか非表示にするとかはフォームボタンからでも実行できます。 excel2000で同じ操作のマクロを作ってフォームボタンに新たに登録しなおすとボタンからの実行が出来るようになりました。 vba画面でみるとエラーの箇所に「dataoption1:=xlsortnormal」とでていて(こちらはexcelxpで作ったマクロ)excel2000で作ったマクロと比べると「orientation:=xltoptobottom」と出ていて違うみたいだなぁと・・・。 でも基本的にvba画面はあまり分からないので、なんでボタンから操作するとエラーが出たのか分かりません。理由が分からないので修正もできません。(┰_┰) 2000とxpと両方で開くことが多いのでどちらでも実行できるような状態にしておきたいのですがどうしたらいいのでしょう?何故こんなエラーがでてしまうのでしょう?対策はどうしたらいいのでしょう? どうかご存知の方、宜しくお願いしますm(__)m 因みにexcel2000のpcのosは98でexcelxpのpcのosはxpです。
回答: 一般的には 下位互換です。 古いので作れば、新しいので読めます。 新しいので作った場合、追加された機能とかあるとそれが古いのでエラーとなります。 両方使う場合は、下位に合わせないとダメでしょう。 つまり 2000で すべて作るというわけです。