上位トップ、下位トップを抽出する(AutoFilter) : Excel

Excel VBAでAutoFilterメソッドを使うと、上位トップ○、上位トップ○を抽出できます。
Criteria1に何位までかを設定し、OperatorにxlTop10Itemsを設定すると上位、xlBottom10Itemsを設定すると下位からになります。



Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ

構文 : Rangeオブジェクト.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)

 Field - フィルタの対象となる列番号を整数で指定します。左側から始まり、最も左側にある列は 1 になります。
 Criteria1 - 抽出条件となる文字列を指定します。省略すると、抽出条件はなしになります。
 Operator - フィルタの種類を指定します。
 Criteria2 - 2番目の抽出条件となる文字列を指定します。
 VisibleDropDown - オートフィルタのドロップダウン矢印を表示する場合はTrue、非表示の場合はFalseを指定します。

Operatorの定数 :
 xlTop10Items - 値の上位からCriteria1で指定した数のデータを抽出
 xlBottom10Items - 値の下位からCriteria1で指定した数のデータを抽出

Excel実行画面

抽出画面
上位 か 下位 のどちらで抽出するかを、オプションボタンで選択し、何位までか入力します。
人口の多い、少ない抽出ソフト

上位からトップ5を抽出した結果
人口が多いいトップ5

下位からトップ5を抽出した結果
人口が少ないトップ5

Excel VBA実行コード

'人口トップ()抽出
Private Sub CommandButton1_Click()
    If TextBox1 = "" Then
        MsgBox "抽出する数値を入力してください。"
        Exit Sub
    End If
    
    If OptionButton1.Value = True Then
        '上位トップ
       Range("A6").AutoFilter 2, Val(TextBox1.Text), xlTop10Items
    Else
        '下位トップ
       Range("A6").AutoFilter 2, Val(TextBox1.Text), xlBottom10Items
    End If
       
End Sub

'オートフィルタを解除する
Private Sub CommandButton2_Click()
    AutoFilterMode = False
End Sub


Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved