• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:引き続きEXCEL2007と2003のソートです)

EXCEL2007と2003のソートでエラーが発生する理由

このQ&Aのポイント
  • EXCEL2007と2003のソートでエラーが発生する理由を解説します。
  • 2007では問題なく動作するソートコードが2003ではエラーとなる原因について説明します。
  • エラーが発生するソートコードの詳細な情報と、その解決方法について解説します。

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.1

先の質問に回答したonlyromです。 関連質問ですのでこれにも回答しなければなりますまいねぃ。(^^;;; >SH2.Range(Cells(1, 見出し列数 + 1), Cells(1, 見出し列数 + 1).End(xlToRight)).Sort _   key1:=SH2.Cells(1, 見出し列数 + 1), Order1:=xlAscending, _   Header:=xlNo, _   Orientation:=xlLeftToRight いくらなんでもこのコードを2003で実行して 「メソッド、メンバがない」のエラーが出るはずはありません。 (場合によっては、別のエラーが出る可能性はありますが) エラー部分はハイライトされますので確認できるはずですが、 このコードのどの部分がハイライトされているのでしょうか。 ●●●それを提示すべきです!!!! 考えられることは、 先の質問の、SH2.Sort.Fieldsなどが残っているか あるいは、勘違いして2007用のコードを2003で実行した、かも知れないということです。 そこら辺りを再度確認することをお勧めします。 ------------------------------------------------- それから >SH2.Range(Cells(1, 見出し列数 + 1), Cells(1, 見出し列数 + 1).End(xlToRight)) これは SH2.Range(SH2.Cells(1, 見出し列数 + 1), SH2.Cells(1, 見出し列数 + 1).End(xlToRight)) このように、Cellsプロパティの前にも必ずシートオブジェクトを付加しないとエラーが出る場合があります。 質問者はVBAに詳しいだろと判断して先の回答ではこの件は省きました。 以上。  

yokokama46
質問者

お礼

すみません。何度もお手数をおかけしました。配布先にしか2003がないものでして、かつ相手も詳しくないので、どこでエラーですか?とTELにてのやりとりのため、要領を得ない質問でした。 「ソートと書いてあるところでエラーみたい。」ということでしたので提示部分だけを取り上げたのですが、私のうっかりで、別の部分にもソートがありました。そこに SH2.Sort.SortFields.Clearが残ってました。まったくご指摘の通りです。有難うございました。相手が出てしまったので、最終確認は出来ませんが、2007で動いてますのでそこしか考えられません。うっかりでお恥ずかしい限りでしたが、2日に渡ってお世話になりました。誠に有難うございました。

関連するQ&A