• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBS でのソート処理Excel2003)

VBSでのソート処理Excel2003

このQ&Aのポイント
  • VBSでソート処理を行っています。Excel2007以上の環境では正常に動作するが、Excel2003環境ではうまく動かない。
  • Excel2003では「Clear」がサポートされていないため、その処理を抜いて実行したが、「438のエラー」が表示される。
  • Excel2003でVBSのソート処理がうまくいかない状況に困っている。質問者は根本的な理解ができていないと述べている。

質問者が選んだベストアンサー

  • ベストアンサー
  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.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回ソートしているということでしょうか。 以上いかがでしょうか。さらに解説が必要であればその旨補足ください。

参考URL:
http://msdn.microsoft.com/ja-jp/library/office/ff840646.aspx
psb01
質問者

お礼

ご回答いただきましてありがとうございます。 Range.Sortメソッドのみで正常に動作しました。 2回ソートしている、ご指摘をありがとうございました。 Excel2003と2007で使えるメソッドがかなり違うことがわかりました。 どうもありがとうございました。

関連するQ&A