Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3843 / 13645 ツリー ←次へ | 前へ→

【59874】activeでないシートのソートについて はま 09/1/15(木) 9:56 質問[未読]
【59875】Re:activeでないシートのソートについて にぃ 09/1/15(木) 10:13 発言[未読]

【59874】activeでないシートのソートについて
質問  はま  - 09/1/15(木) 9:56 -

引用なし
パスワード
   現在、Sheet2をactivateに設定しています。

マクロにおいて、Sheet1をactivateにせずに
Sheet1に入っているデータをソートすることは可能でしょうか?
Sheet1には、「1行A列を」左上として、以下のデータが入っており、ソート順は

第1優先:X降順
第2優先:Y降順

です。よろしくお願いいたします。

X Y
3 1
1 4
2 4
4 1
1 3
2 1
4 4
3 3

【59875】Re:activeでないシートのソートについて
発言  にぃ  - 09/1/15(木) 10:13 -

引用なし
パスワード
   ▼はま さん:
こんにちは!

>マクロにおいて、Sheet1をactivateにせずに
>Sheet1に入っているデータをソートする
方法です。

マクロ記録より
  Sheets("Sheet1").Select
  Columns("X:Y").Select
  Selection.Sort Key1:=Range("X1"), Order1:=xlDescending, Key2:=Range("Y1") _
    , Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
    False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _
    xlSortNormal, DataOption2:=xlSortNormal
  Sheets("Sheet2").Select


  Sheets("Sheet1").Columns("X:Y").Sort Key1:=Sheets("Sheet1").Range("X1"), _
    Order1:=xlDescending, Key2:=Sheets("Sheet1").Range("Y1") _
    , Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
    False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _
    xlSortNormal, DataOption2:=xlSortNormal


withを使った方法です。

  With Sheets("Sheet1")
    .Columns("X:Y").Sort Key1:=.Range("X1"), _
    Order1:=xlDescending, Key2:=.Range("Y1") _
    , Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
    False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _
    xlSortNormal, DataOption2:=xlSortNormal
  End With

こんなので参考になりますでしょうか。

3843 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free