- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBS でのソート処理Excel2003)
VBSでのソート処理Excel2003
このQ&Aのポイント
- VBSでソート処理を行っています。Excel2007以上の環境では正常に動作するが、Excel2003環境ではうまく動かない。
- Excel2003では「Clear」がサポートされていないため、その処理を抜いて実行したが、「438のエラー」が表示される。
- Excel2003でVBSのソート処理がうまくいかない状況に困っている。質問者は根本的な理解ができていないと述べている。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SortオブジェクトはExcel2007で追加されたものだとのことです。 http://msdn.microsoft.com/ja-jp/library/office/ff821877.aspx http://officetanaka.net/excel/vba/tips/tips148.htm つまり、Excel2003にはSortオブジェクトはないということのようです。 そのため、質問者様のコードをExcel2003で実行すると、 objXL.ActiveSheet.Sort. で始まる行はすべてエラーになると思われます。 かわりにRange.Sortメソッドを使ってください。 http://msdn.microsoft.com/ja-jp/library/office/ff840646.aspx それで対応できなければオートフィルタを使ったりVBAで書いたりしなければならないと思います。 それを踏まえて質問者様のコードを見ると、Range.SortメソッドとSortオブジェクトのApplyメソッドの両方が書いてありますね。2回ソートしているということでしょうか。 以上いかがでしょうか。さらに解説が必要であればその旨補足ください。
お礼
ご回答いただきましてありがとうございます。 Range.Sortメソッドのみで正常に動作しました。 2回ソートしている、ご指摘をありがとうございました。 Excel2003と2007で使えるメソッドがかなり違うことがわかりました。 どうもありがとうございました。