| 
    
     |  | ご回答いただき大変ありがとうございます。 恐縮ながら自己解決してしまいました。。。
 
 そしてご回答内容について、
 もし宜しければ操作手順を教えていただけないでしょうか?
 逆に初心者の私にはこちらがわかりませんでした。お手数をおかけしましてすみません。
 
 ▼通り過ごせない さん:
 >マクロ記録はできますか?
 >オートフィルタ の オプションで
 >4以上 かつ 6以下
 >という条件を記録させてみては?
 
 ちなみに下記のようにプログラムを修正しましたところ、質問内容に合致しました。
 
 シート:Sheet1
 データ範囲:1行A列〜RowNum行A列 (RowNumは行数をカウント後、下端の行番号が入ります。)
 検索範囲:入力した値の上下20%
 
 Private Sub CommandButtonSEARCH_Click() '検索ボタンクリック
 Call myFilter(1, textbox1.Value)
 End Sub
 
 myFilterの内容
 ↓
 Private Sub myFilter(tmpF As Integer, tmp1 As Variant) 'オートフィルタを設定 tmpFはフィルタかける列番号
 
 Dim width1 As Variant  '下限値
 Dim width2 As Variant  '上限値
 Dim RowNum As Integer 'RowNum宣言
 RowNum = Sheets("Sheet1").Cells(Sheets("Sheet1").Rows.Count, "E").End(xlUp).Row 'RowNum定義
 
 
 With Sheets("Sheet1")
 If Trim(tmp1) <> "" Then
 width1 = tmp1 * 0.8 '下端の数値を設定、入力値の80%
 width2 = tmp1 * 1.2 '上端の数値を設定、入力値の120%
 .Range(.Cells(1, "A"), .Cells(RowNum,"A")).AutoFilter Field:=tmpF, Criteria1:=">=" & width1, Operator:=xlAnd, Criteria2:="<=" & width2
 End If
 End With
 End Sub
 
 
 |  |