Excelのこととか色々

Excel のこととか楽天とか いろいろ書いてみます・・・

【VBAスタンダードに挑戦!】並べ替え(Excel 2007以降(つづき))

【VBAスタンダードに挑戦!】

f:id:tuna-kichi:20200614200940p:plain

 

本日の5分勉強の内容

 

 

********************************************************

Excel 2007 以降の並べ替え

・並べ替えに指定できるキーが3→64に増えた

・文字色、背景色、条件付き書式のアイコンで並べ替えができるようなった

・Sort オブジェクト、SortField オブジェクトが実装された

※Sort・・・分類、種類

 

                      

f:id:tuna-kichi:20200816144820p:plain

列Bの昇順で並べ替えをマクロの記録で記録すると・・・

 

Sub Macro2()
'
' Macro2 Macro

① ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
② ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("B2"), _
  SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
 With ActiveWorkbook.Worksheets("Sheet1").Sort
   .SetRange Range("A2:C9") '(a) 並べ替えの範囲を指定
   .Header = xlNo '(b) (a)の範囲はタイトル行では無いと設定
   .MatchCase = False '(c) 大小文字の区別をしない
   .Orientation = xlTopToBottom '(d) 行方向(上から下)に並べ替えると指定
   .SortMethod = xlPinYin '(e) フリガナを使って並べ替えると指定(日本語)
   .Apply '(f) 並べ替えを実行
  End With
End Sub

 

(b) Header 

 xlGuess   自動判定(既定)
 xlYes  1行目はタイトル
 xlNo  1行目はタイトルではない 

※Header・・・上部の情報、逆さに落ちる

 Guess・・・推測、~だと思う

 

(c) MatchCase ・・・True/False で指定する

 

(d) Orientation

 xlTopToBottom   上から下へ並べ替える(既定)
 xlLeftToRight  左から右へ並べ替える 

 ※Orientation・・・方向、適応、説明会

 

(e) SortMethod

 xlPinYin  フリガナで並べ替える(既定)
 xlStroke   文字コードで並べ替える

※PinYin・・・ピンイン 中国語のようです

 Stroke・・・一撃、ひとかき(船のオール)、発作、一往復

 なぜ上記の単語が採用されているのか不明

 

・Header, MatchCase, Orientation, SortMethod は省略可であるものの、
 前回の設定が残っており、誤動作を避けるため、設定した方が安全 

 

 

①②の解説はこちら
www.tuna-kichi.com

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/