重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

たびたびお世話になります

選択範囲の並べ替えを行いたく こちらで教わった方法で
セル位置の取得を行い
Set r = Columns(\"A\").Find(\"b1\", lookat:=xlWhole, After:=Range(\"A\" & Rows.Count))
Set rr = Columns(\"A\").Find(\"bm123-1\", After:=r, Searchdirection:=2)

その取得した位置を元に並べ替えを行いたい
範囲選択をしています
Range(r, rr.Offset(, 14)).Select
その後並び替えを実施したいのですが
Selection.Sort Key1:=Range(r.Offset(, 14))
この様にしてみましたが 実行時エラー1004が返されてしまいます

どのようにすれば 並び替えができるのでしょうか
よろしくお願いします

A 回答 (1件)

こんにちは



VBAでの範囲選択 並び替え
http://oshiete1.goo.ne.jp/qa4692010.html
の関連ですね。
関連質問されるときは、元の質問を参照しておくと、回答しようとする人にとって分かりやすくなります。

Selection.Sort Key1:=Range(r.Offset(, 14))
の「Range」が余分だと思います。
「r.Offset(, 14)」ですでにセル範囲を表しています。r.Offset(, 14)だけで十分です。
または「Range(r.Offset(, 14).Address)」とすれば上手く動くと思います。(回りくどい表現になりますが)



--------
同じ質問が二重に投稿されてしまっているようです。
下記の質問の方は「締め切り済み」にしておいてください。
http://oshiete1.goo.ne.jp/qa4694575.html
    • good
    • 0
この回答へのお礼

ありがとうございます

無事に確認できました

投稿後に処理がおかしいなとは 思いましたが
2重投稿になっていたとは ご指摘ありがとうございます

お礼日時:2009/02/06 21:48

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