ExcelのVBA・マクロで一覧表を複数の列の条件でフィルターで絞り込む方法

ここでは、ExcelのVBA・マクロで一覧表を複数の列の条件でフィルターで絞り込む方法を紹介します。

ExcelのVBA・マクロで一覧表を複数の列の条件でフィルターで絞り込むには、AutoFilterを使います。

<サンプル>
Sub test41()
‘表の書式設定
Range(“A1:C1”).Interior.Color = rgbYellow
Range(“A1:C1”).Font.Color = rgbRed
Range(“A1:C1”).HorizontalAlignment = xlCenter
Range(“A1:C7”).Borders.Weight = xlThin
Range(“A1:C7”).Font.Name = “Meiryo UI”
Range(“A1:C7”).Font.Size = 12

‘表のデータ
Range(“A1”).Value = “グループ”
Range(“B1”).Value = “名前”
Range(“C1”).Value = “点数”
Range(“A2”).Value = “A”
Range(“A3”).Value = “B”
Range(“A4”).Value = “C”
Range(“A5”).Value = “A”
Range(“A6”).Value = “B”
Range(“A7”).Value = “C”
Range(“B2”).Value = “高橋”
Range(“B3”).Value = “鈴木”
Range(“B4”).Value = “田中”
Range(“B5”).Value = “野村”
Range(“B6”).Value = “野村”
Range(“B7”).Value = “谷重”
Range(“C2”).Value = 100
Range(“C3”).Value = 80
Range(“C4”).Value = 60
Range(“C5”).Value = 50
Range(“C6”).Value = 30
Range(“C7”).Value = 10

‘抽出
Range(“A1″).AutoFilter Field:=1, Criteria1:=”A”
Range(“A1″).AutoFilter Field:=3, Criteria1:=”>=80″

End Sub

まず「Range(“A1″).AutoFilter Field:=1, Criteria1:=”A”」でフィルターで絞込をしています。「Field:=1」で1列目の値で、「Criteria1:=”A”」でAというグループで絞込を行います。

続いて「Range(“A1″).AutoFilter Field:=3, Criteria1:=”>=80″」でフィルターで絞込をしています。「Field:=3」で3列目の値で、「Criteria1:=”>=80″」で点数が80点以上の人だけを絞り込みしています。

<参考>
>>ExcelのVBA・マクロで一覧表をフィルターで絞り込む方法
>>ExcelのVBA・マクロで一覧表をフィルターで複数の値で絞り込む方法
>>ExcelのVBA・マクロでフィルターを解除する方法