Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11314 / 76735 ←次へ | 前へ→

【70959】Re:検索にて、入力した値の上下数%のデータのみを表示
お礼  kkk  - 12/1/21(土) 3:57 -

引用なし
パスワード
   ご回答いただき大変ありがとうございます。
恐縮ながら自己解決してしまいました。。。

そしてご回答内容について、
もし宜しければ操作手順を教えていただけないでしょうか?
逆に初心者の私にはこちらがわかりませんでした。お手数をおかけしましてすみません。

▼通り過ごせない さん:
>マクロ記録はできますか?
>オートフィルタ の オプションで
>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
9 hits

【70942】検索にて、入力した値の上下数%のデータのみを表示 kkk 12/1/19(木) 15:27 質問
【70945】Re:検索にて、入力した値の上下数%のデータ... 通り過ごせない 12/1/19(木) 21:26 発言
【70959】Re:検索にて、入力した値の上下数%のデータ... kkk 12/1/21(土) 3:57 お礼
【70964】Re:検索にて、入力した値の上下数%のデータ... 通り過ごせない 12/1/21(土) 13:22 発言
【70965】Re:検索にて、入力した値の上下数%のデータ... 通り過ごせない 12/1/21(土) 13:36 発言

11314 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free