アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBA初心者です。

並べ替えをしたくてSortメソッドというのを使っているのですが、
Sortメソッドの後にプログラムを書くと
「実行時エラー'1004':アプリケーション定義またはオブジェクト定義エラーです」
と出てしまいます。

Worksheets(sheets).Range("A1:D30").sort _
Key1:=Range("B2"), _
Header:=xlGuess, _
MatchCase:=True, _
SortMethod:=xlPinYin

↑こんなプログラムを2個続けて(sheetsを変えて)実行させ、
その後にもいろいろ続けて書きたいのですがどうしたらいいのでしょう。
「:=」という書き方を初めて使ったのでよく理解できていません。
ご教授いただけると助かります。

A 回答 (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
のようにすればいいと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/03/10 18:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!