こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBAで並び替え・・・

VBAで並び替えをしたいのですが、変な範囲が選択されます。
一覧表のA5:BF5に項目が入っています。
マクロの登録でA5をクリックして、shift+ctrl+end(→)で項目を選択し、shift+ctrl+PgDn(↓)で範囲選択して
ツールの並び替えで並び替え項目はA5です。

下記のコードができました。
しかしながら、エラーがでます。
よろしくお願い致します。
エクセルのバージョンは2002です。

Sheets("一覧").Select
Range("A5").Select

Range(Selection, Selection.End(xlToRight)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortTextAsNumbers
Range("A5").Select
Sheets("現場登録検索").Select
Range("C2:D2").Select

投稿日時 - 2005-06-08 23:44:28

QNo.1437753

困ってます

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

#1です。

> すべてをA5にすると項目もソートされてしまいます。

header:=xlGuess の xlGuess はタイトルを自動判定してって意味です。
A5がタイトルなら header:=xlYes、データならheader:=xlNo にすれば良いだけです。

> 実行エラー1004同じサイズのセルの結合が必要です。

Test1を行った場合にSelectした範囲内に結合セルがあるのでしょう。
結合セルはソート出来ません。

表の状況がまったく解らないので予想で回答せざるを得ません。
エラーの原因はご自身で判断されるか、詳しい表の状況を説明頂かないと、こちらは見ている訳では無いので。

投稿日時 - 2005-06-12 16:13:36

お礼

不出来ですみません。
説明不足ですよね。
予測で答え頂いているのに、とても的を得てます。
見て頂いてるかのようです。
とてもわかりやすいです。

ありがとうございました。

投稿日時 - 2005-06-13 20:40:17

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

変な範囲が選択されるって所が質問でしょうか?
それとも実行するとエラーが出る部分でしょうか?
エラーは Key1:=Range("A6") を Key1:=Range("A5") にするとどうなるかです。

範囲はこんな感じでどうでしょう?

Sub Test1()
 Range("A5").CurrentRegion.Select
End Sub

OKなら

Sub Test2()
 Range("A5").CurrentRegion.Sort _
   key1:=Range("A5"), order1:=xlAscending, header:=xlYes
End Sub

投稿日時 - 2005-06-09 00:05:45

お礼

Sub 並び替え()
Sheets("一覧").Select
Range("A6").Select

Range(Selection, Selection.End(xlToRight)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Sort key1:=Range("A6"), order1:=xlAscending, header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortTextAsNumbers
Range("A5").Select
Sheets("現場登録検索").Select
Range("C2:D2").Select
End Sub
上記のA6に換えることでうまく動きました。
ただ、これだと空白があると途切れてしまいますが・・・。
すべてをA5にすると項目もソートされてしまいます。

Test2を実行すると、"実行エラー1004同じサイズのセルの結合が必要です。"となってしまいます。
しかしながら、Vlookupの実行の不具合が並びえに原因があると思い込んでいましたので、それはpapayukaさんのおかげさまで解消できましたから、並び替えは必要なくなったのですが・・・。
いつもありがとうございます。

投稿日時 - 2005-06-12 12:57:41

あなたにオススメの質問