Excel VBAで指定した単位でのフィルタリングを実現する方法

この記事では、Excel VBAを用いて指定した単位(例:千、百万)でフィルタリングを行う方法を具体的に解説します。VBAに初めて触れる方でも分かりやすいように、具体的なコード例とその詳細な解説、そして応用例を3つ以上提供しています。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

基本的なフィルタリングコードの構造

Excel VBAを用いてデータをフィルタリングする際の基本的なコードの構造について解説します。


' 基本的なフィルタリングコード
Sub BasicFilter()
    ' フィルタリング対象の列を指定
    Columns("A:A").AutoFilter Field:=1, Criteria1:=">1000"
End Sub

コードの解説

– `Columns(“A:A”)`:フィルタリング対象とする列を指定しています。
– `AutoFilter Field:=1, Criteria1:=”>1000″`:条件を指定してフィルタリングを行います。この例では、1000より大きい値を抽出します。

指定した単位でのフィルタリング

以下に、指定した単位(例:千、百万)でフィルタリングを行うVBAコードを示します。


' 単位に応じたフィルタリングコード
Sub UnitBasedFilter(unit As String)
    Dim multiplier As Long
    ' 単位に応じて乗数を設定
    Select Case unit
        Case "千"
            multiplier = 1000
        Case "百万"
            multiplier = 1000000
        Case Else
            multiplier = 1
    End Select
    ' フィルタリング
    Columns("A:A").AutoFilter Field:=1, Criteria1:=">" & multiplier
End Sub

コードの解説

1. `Dim multiplier As Long`:乗数(multiplier)をLong型で宣言。
2. `Select Case unit`:引数として渡された単位(unit)に応じて、乗数を設定。
3. `Columns(“A:A”).AutoFilter Field:=1, Criteria1:=”>” & multiplier`:設定した乗数を用いてフィルタリング。

応用例

応用例1: 複数の条件でフィルタリング


' 複数条件でのフィルタリング
Sub MultipleCriteriaFilter()
    Columns("A:A").AutoFilter Field:=1, Criteria1:=">1000", Operator:=xlAnd, Criteria2:="<5000"
End Sub

応用例2: 特定の文字が含まれる場合のフィルタリング


' 文字列フィルタリング
Sub StringFilter()
    Columns("B:B").AutoFilter Field:=1, Criteria1:="=*apple*"
End Sub

応用例3: 日付範囲でのフィルタリング


' 日付範囲でのフィルタリング
Sub DateRangeFilter()
    Columns("C:C").AutoFilter Field:=1, Criteria1:=">=2021/01/01", Operator:=xlAnd, Criteria2:="<=2021/12/31"
End Sub

まとめ

Excel VBAを用いて指定した単位でのフィルタリングは、業務でのデータ解析を効率化する非常に有用な手法です。この記事で紹介した基本的な方法と応用例を活用して、ぜひ効率的なデータ処理を実現してください。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次