excel vbaの「autofilter」を簡単に説明しました。
excelのvbaをマスターしましょう!
excel vba 簡単・解決! Homeへ
autofilter
excelのvbaは、最高速のオンメモリーデータベースを使用出来ます。
理由は、メモリー上のデータベースからデータを抽出できるからです。
1.EXCELのすばらしさの秘密
オンメモリーデータベースの代表は、EXCELです。
瞬間的に数十万件のデータから検索結果の対象セルをアクティブにすることが出来るからです。
EXCELのすばらしさの秘密は、ここにあります。
【使用例1】
Sub FilterByDate()
Dim dDate As Date
Dim strDate As String
Dim lDate As Long
dDate = DateSerial(2009, 9, 27)
lDate = dDate
Range("A1").AutoFilter
Range("A1").AutoFilter Field:=1, Criteria1:=">" & lDate
End Sub
このプログラムは、A列のA2から日付が入力されているシートで 2009/9/27より新しい日付を抽出します。
数万件のデータでも瞬時に抽出できます!
2.AutoFilteの引数
Range(セル範囲).AutoFilter([Field], [Criteria1], [Operator], [Criteria2], [VisibleDropDown])
[ ]で示した引数は、省略できます。
Field: 対象のフィールド番号
Criteria1:1番目の抽出条件となる文字列
Operator:抽出の方法 値=1:Criteria1とCriteria2とが同時に成立、=4:下位10アイテムのみ、=6:下位10%相当のみ
値=2:Criteria1とCriteria2のどちらか一致、=3:上位10アイテムのみ、=5:上位10%相当のみ
Criteria2:2番目の抽出条件となる文字列
VisibleDropDown:規定値はTrue(ドロップダウン矢印を表示:Flase:しない、True:する)
3.AutoFilteで全てのデータを表示
Worksheets(1).ShowAllData
この命令は、最も左のワークシートの現在オートフィルターがかかっているデータをすべて表示します。
なお、オートフィルターを解除する場合、引数なしで、Worksheets(1).AutoFilterとします。
【使用例2】
この例は、2列目のセルに”Apple”が入力されている行を抽出します。
Sub Simple_AutoFilter()
Dim oWS As Worksheet
On Error GoTo Err_Filter
Set oWS = ActiveSheet
oWS.UsedRange.AutoFilter Field:=2, Criteria1:="Apple"
Finally:
If Not oWS Is Nothing Then Set oWS = Nothing
Err_Filter:
If Err <> 0 Then
MsgBox (Err.Description)
Err.Clear
GoTo Finally
End If
End Sub
excelのvbaをマスターしましょう。
excel vba 簡単・解決! Homeへ

