行、列の操作


列の非表示
Rows("1:" & CInt(InputRow)).Select
Selection.EntireRow.Hidden = False
列の非表示解除
MaxColumn = Cells(1, Columns.Count).End(xlToLeft).Column

Range(Columns(1), Columns(MaxColumn)).Select
Selection.EntireColumn.Hidden = true                  '非表示解除
行の非表示
Columns("A:F").Select
Selection.EntireColumn.Hidden = False  '非表示
行の非表示解除
RowMax = Cells(Rows.Count, 1).End(xlUp).Row

Rows("1:" & RowMax).Select
Selection.EntireRow.Hidden = False                  '非表示解除
最大行番号の取得
MaxRow = Cells(Rows.Count, 1).End(xlUp).Row
Lmax = Range("A1").End(xlDown).Row
最大列番号の取得
MaxColumn = Cells(1, Columns.Count).End(xlToLeft).Column
MaxColumn = Range("A1").End(xlToRight).Column
行のコピー
Rows("1:1").Select
Selection.Copy
Sheets("工種未入力").Select
Rows("1:1").Select
ActiveSheet.Paste
列の追加
Columns("P:P").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
行の追加
Rows(LoopCnt).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
重複行の削除
ActiveSheet.Range("$A$1", "$B$" & Lmax).RemoveDuplicates Columns:=2, Header:=xlYes
行のグループ化
Range("A" & GLevel8_Start, "M" & GLevel8_End).Select
Selection.Rows.Group
列の削除
Columns("A:C").Select
Selection.Delete Shift:=xlToLeft
行の削除
Rows(CInt(Delete_MaxRow + 1) & ":" & MaxRow_S).Select
Selection.Delete Shift:=xlUp
列幅設定
Columns("A").ColumnWidth = 13
Range(Columns(3),Columns(5)).ColumnWidth = 20
Rows(1).ColumnWidth=10
行の高さ
Rows(10).RowHeight = 15
Range(Rows(15), Rows(18)).RowHeight = 10
Columns(1).RowHeight=15

ソート

ソートはフィルターがかかっている場合とかかっていない場合で異なる。フィルターがかかっている状態に、フィルターの考慮のない命令を発すると実行時エラーになる。
ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("Q2:Q" & MaxRow_S), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("A2:A" & MaxRow_S), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet2").Sort
        .SetRange Range("A1:S" & CInt(MaxRow))
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
End With

ソートのオプションは次の通り
Key1		文字列、Rangeオブジェクトを指定します。
Order1		xlAscending 昇順に並び替える
		xlDescending 降順に並び替える
Key2		2番目に優先される文字列,Rangeオブジェクトを指定します
Order2		xlAscending 昇順に並び替える
		xlDescending 降順に並び替える
Key3		3番目に優先される文字列,Rangeオブジェクトを指定します
Order3		xlAscending 昇順に並び替える
		xlDescending 降順に並び替える
Header		xlGuess 先頭行をタイトル行か自動判定する
		xlNo 先頭行をタイトル行と見なさない
		xlYes 先頭行をタイトル行と見なす
OrderCustom  
MatchCase	TRUE 大文字・小文字を区別する
		FALSE 大文字・小文字を区別しない
Orientation	xlSortRows 上から下へ(行の並び替え)
		xlSortColumn 左から右へ(列の並び替え)
SortMethod	xlPinYin 
		xlStroke 
フィルターが掛かっている場合、フィルターによる非表示範囲がソート対象から除かれるので、 ソート前にフィルターを解除しておく必要がある。
Set myRange = ActiveSheet.AutoFilter

If Not myRange Is Nothing Then                      'フィルターが設定されている
    ActiveSheet.Range("A1").AutoFilter
End If

グループの設定

Selection.Rows.Group
Rows("4:9").Select
Selection.Rows.Group
Rows("11:16").Select
Selection.Rows.Group
Rows("2:16").Select
Selection.Rows.Group

グループレベルの表示

ActiveSheet.Outline.ShowLevels RowLevels:=2
3 4 5

このサイトは個人生活を健やかに、愉しく、 企業活動を闊達にして、 持続可能な社会作りを目指します
Copyright © しなやか暮し研究所 2012 All Rights Reserved.