【Excel】フィルターで並び替えを行う②

①フィルターを設定する
フィルターで並び替えを行う①」を参照

②マクロを使えるようにする
マクロを使えるようにする」を参照

③並び替え用のボタンを配置

④ボタン配置時の以下の画面で「マクロ名」を「TitleAsc」として「新規作成」を押す

⑤「Microsoft Visual Basic for Applications」にて以下のコードを記載

'最終行の取得
Dim lastRow As Integer:
lastRow = Cells(Rows.Count, 1).End(xlUp).Row

ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear
'2列目の5行目から最終行に対して昇順のソート
ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add2 Key:=Range(Cells(5, 2), Cells(lastRow, 2)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

⑥ボタンの名前を変更する

⑦降順のボタンを作成
ボタンを配置し、「マクロ名」を「TitleDesc」とする


コードは以下のようにする(「Order:=xlDescending」の部分が違うのみ)

'最終行の取得
Dim lastRow As Integer:
lastRow = Cells(Rows.Count, 1).End(xlUp).Row

ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear
'2列目の5行目から最終行に対して降順のソート
ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add2 Key:=Range(Cells(5, 2), Cells(lastRow, 2)), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

【Excel】データの推移を管理する

テニスプレーヤー毎のファーストサーブ、セカンドサーブの確率を日別・月別に管理する

①データベースとする表を用意

②名前の定義をする
※参照範囲を「=OFFSET(データベース!$A$1,0,0,COUNTA(データベース!$A:$A),8)」とすることで、
データベースの行数増加に対応する

③ピボットテーブルを作成する

④必要な項目を選択する

⑤スライサーを追加

⑥ピボットグラフを追加

⑦推移を確認する
※2018年10月、プレイヤーAの日別推移

【Excel】条件付きドロップダウン

①チェック表とドロップダウンの選択肢とする表を作成

②名前欄にデータの入力規則を設定
※「○」のみ指定できるように設定

③作業状況欄にデータの入力規則を設定
以下を設定
「=IF(COUNTA($B7:$D7)=3,$G$7:$G$10,$G$7:$G$9)」

④「○」の入力状況に応じて選択肢が増減する