セル 範囲を指定し並び替える

VB&VBA
FROG ふろっぐ
 
  • オプション

    本文印刷

    お気に入りに追加

  • 検索

    Googlewwwjp-ia
     

    Googlewwwjp-ia
     
  • 情報

  • 関連

[VB&VBA][セル 範囲を指定し並び替える]
Option Explicit


Sub ExcelSort()
'*************************************
'セル 範囲を指定し並び替える
'*************************************
Dim sht As Worksheet, rng As Range
Dim Key(2) As Range

Set sht = ThisWorkbook.Worksheets("SubIndex")
Set rng = sht.Columns("A:D")
Set Key(1) = sht.Range("C1")
Set Key(2) = sht.Range("D1")

With sht
    rng.Sort Key1:=Key(1), Order1:=xlAscending, Key2:=Key(2) _
    , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:= _
    False, Orientation:=xlTopToBottom
End With

'Header:=xlGuess            範囲の先頭行自動判別
'Header:=xlYes              範囲の先頭行見出しとして
'Header:=xlNo               範囲の先頭行見出しではなくデータとして
'Order1:=xlAscending        昇順
'Order2:=xlDescending       降順
'OrderCustom:=1             リストの何番目に表示するか
'Orientation:=xlTopToBottom
'Orientation:=xlSortColumn  左から右に並べ替え
'Orientation:=xlSortRows    上から下に並べ替え
'MatchCase:=False           大文字小文字区別

'解説

'引数である Header、Order1、Order2、Order3、OrderCustom、Orientation で指定した値は
'このメソッドが実行されるたびに保持されます。
'これらの引数を省略してメソッドを実行した場合、
'保存されていた値が使用されます。
'問題の発生を防ぐため、このメソッドを実行するたびに、これらの引数を明確に指定します。

End Sub





Production Japan Import Application. Since 1998