• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA Sortメソッドについて)

VBAのSortメソッドでの実行時エラーの解決方法

このQ&Aのポイント
  • VBA初心者がSortメソッドを使用して並べ替えをしようとすると実行時エラー'1004'が発生する場合があります。具体的には、「アプリケーション定義またはオブジェクト定義エラーです」というエラーメッセージが表示されます。
  • このエラーが発生する原因として、Sortメソッドを使用する範囲やキーの指定方法に誤りがある可能性があります。Sortメソッドを使用する際には、範囲やキーの指定を正確に行うことが重要です。
  • 具体的には、WorksheetsオブジェクトのRangeメソッドを使用して範囲を指定し、Key1パラメータを指定して並べ替えの基準となる列を指定する必要があります。また、HeaderパラメータやMatchCaseパラメータ、SortMethodパラメータなどのオプションも適切に設定する必要があります。

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

  • ベストアンサー
  • mar00
  • ベストアンサー率36% (158/430)
回答No.1

エラーが出るのはWorksheets(sheets).Range("A1:D30").sort の部分だと思います。 Range("A1:D30").sort にすればエラーは出ないと思います。 例えばsheet1とsheet2に同じ処理を行いたいのであれば For i=1 to 2 Worksheets(i).select Range("A1:D30").sort _ Key1:=Range("B2"), _ Header:=xlGuess, _ MatchCase:=True, _ SortMethod:=xlPinYin next i のようにすればいいと思います。

sui40
質問者

お礼

できました! Worksheets(sheets).Range("A1:D30").sort とするのではなく、 Worksheets(sheets).select Range("A1:D30").sort と分ければ良かったんですね。 どうもありがとうございました!助かりました^^

関連するQ&A

専門家に質問してみよう