このようなコードを書いてます。
Sub 項目列でフィルタリング()
Dim ws As Worksheet
Dim tbl As ListObject
Dim colSyumoku As Range
Dim syumokuColumn As Long
Dim colSyobunrui As Range
Dim syobunruiColumn As Long
Dim colKinou As Range
Dim kinouColumn As Long
Dim colmokuteki As Range
Dim mokutekiColumn As Long
Dim colHaba As Range
Dim habaColumn As Long
Dim colTakasa As Range
Dim takasaColumn As Long
Dim filteredRange As Range
Dim lastRow As Long
' 対象のシートを指定する
Set ws = ThisWorkbook.Sheets("FYGMST01.CSV")
' 対象のテーブルを指定する
Set tbl = ws.ListObjects("テーブル5")
' 列の項目名を基に列番号を取得する
Set colSyumoku = tbl.HeaderRowRange.Find("種目")
Set colSyobunrui = tbl.HeaderRowRange.Find("小分類")
Set colKinou = tbl.HeaderRowRange.Find("機能別")
Set colmokuteki = tbl.HeaderRowRange.Find("目的別")
Set colHaba = tbl.HeaderRowRange.Find("幅")
Set colTakasa = tbl.HeaderRowRange.Find("高さ")
' 列番号を取得する
If Not colSyumoku Is Nothing Then
syumokuColumn = colSyumoku.Column
Else
MsgBox "列 '種目' が見つかりません。"
Exit Sub
End If
If Not colSyobunrui Is Nothing Then
syobunruiColumn = colSyobunrui.Column
Else
MsgBox "列 '小分類' が見つかりません。"
Exit Sub
End If
If Not colKinou Is Nothing Then
kinouColumn = colKinou.Column
Else
MsgBox "列 '機能別' が見つかりません。"
Exit Sub
End If
If Not colmokuteki Is Nothing Then
mokutekiColumn = colmokuteki.Column
Else
MsgBox "列 '目的別' が見つかりません。"
Exit Sub
End If
If Not colHaba Is Nothing Then
habaColumn = colHaba.Column
Else
MsgBox "列 '幅' が見つかりません。"
Exit Sub
End If
If Not colTakasa Is Nothing Then
takasaColumn = colTakasa.Column
Else
MsgBox "列 '高さ' が見つかりません。"
Exit Sub
End If
' テーブルのデータ範囲を取得する
Set filteredRange = tbl.DataBodyRange
' フィルターを解除する
tbl.AutoFilter.ShowAllData
'フォームの項目を読み込む
' 種目が「フォーム入力内容」の行に絞り込む
filteredRange.AutoFilter Field:=syumokuColumn, Criteria1:=ListBox7.Text
' 小分類が「フォーム入力内容」の行に絞り込む
filteredRange.AutoFilter Field:=syobunruiColumn, Criteria1:=ListBox6.Text
' 機能別が「フォーム入力内容」の行に絞り込む
filteredRange.AutoFilter Field:=kinouColumn, Criteria1:=ListBox5.Text
' 目的別が「フォーム入力内容」の行に絞り込む
filteredRange.AutoFilter Field:=mokutekiColumn, Criteria1:=ListBox4.Text
' 幅が「フォーム入力内容以上」の行に絞り込む
filteredRange.AutoFilter Field:=habaColumn, Criteria1:=">="&ListBox3.Text
' 高さが「フォーム入力内容以下」の行に絞り込む
filteredRange.AutoFilter Field:=takasaColumn, Criteria1:=">="&ListBox2.Text
End Sub