Header

最初の行にヘッダー情報が含まれるかどうかを指定します。

構文
Sort.Header = XlYesNoGuess
引数
戻り値

定数一覧

XlYesNoGuess 列挙

名前説明
xlGuess0見出しがあるかどうか、ある場合はその場所をExcelが特定します。
xlYes1範囲全体が並べ替えられません。
xlNo2既定値。範囲全体が並べ替えの対象になります。
CONST xlGuess = 0
CONST xlYes = 1
CONST xlNo = 2

プログラム実行例

ソート

人口の多い順にソートします。

使用したファイルをダウンロードできます。

CONST xlDown = -4121
CONST xlSortOnValues = 0
CONST xlDescending = 2
CONST xlSortNormal = 0
CONST xlYes = 1
CONST xlGuess = 0
CONST xlTopToBottom = 1
CONST xlPinYin = 1

DIM Excel = ExcelBoot("D:\Documents\都道府県別人口.xlsx")

WITH Excel.ActiveSheet
	WITH .Sort
		WITH .SortFields
			.Clear
			.Add(Excel.Range("C2").End(xlDown), xlSortOnValues, xlDescending, xlSortNormal)
		ENDWITH
		.SetRange(Excel.Range("A1").CurrentRegion)
		.Header = xlYes
		.MatchCase = FALSE
		.Orientation = xlTopToBottom
		.SortMethod = xlPinYin
		.Apply		
	ENDWITH
ENDWITH

//////////////////////////////////////////////////
// 【引数】
//   path : 開くファイルのパス名 
// 【戻値】
//   Excelオブジェクト 
//////////////////////////////////////////////////
FUNCTION ExcelBoot(path = "")
	DIM Excel = CREATEOLEOBJ("Excel.Application")
	Excel.Visible = TRUE
	IFB path = "" THEN
		Excel.Workbooks.Add
	ELSE
		DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
		IFB FSO.GetParentFolderName(path) = "" THEN
			path = GET_CUR_DIR + "\" + path
		ENDIF
		Excel.Workbooks.Open(path)
	ENDIF
	RESULT = Excel
FEND
  1. ExcelBoot
解説
  1. 10行目
    DIM Excel = ExcelBoot("D:\Documents\都道府県別人口.xlsx")
    ファイルを開く。
  2. 16行目
    			.Add(Excel.Range("C2").End(xlDown), xlSortOnValues, xlDescending, xlSortNormal)
    並び替えのキー値をセル範囲で指定。並び替えの対象に「値(xlSortOnValues)」を指定。並び替えの順序に「降順(xlDescending)」を指定。
  3. 18行目
    		.SetRange(Excel.Range("A1").CurrentRegion)
    並び替えが行われる範囲にセルA1を含む表全体を指定。CurrentRegionは空白で囲まれた範囲を取得するので、セルA1を含む表のセル範囲が取得できます。表のサイズが変わっても対応できます。
  4. 19行目
    		.Header = xlYes
    最初の行がヘッダーなので「xlYes」を指定。
  5. 20行目
    		.MatchCase = FALSE
    大文字と小文字を区別しない(False)。
  6. 21行目
    		.Orientation = xlTopToBottom
    行の入れ替えを行う。
  7. 22行目
    		.SortMethod = xlPinYin
    日本語をふりがなで並び替えます。
  8. 23行目
    		.Apply
    Sort.Applyでソートが実行されます。これを記述しないとソートされません。

参考文献

  1. Sort.Header プロパティ (Excel) | Microsoft Docs