VBAで特定文字を含むデータを基準に列を振り分ける方法

目次

概要

Excelの一覧データを整理する際、「特定の文字列を含む場合はある列へ、それ以外は別の列へ」という処理を行いたい場合があります。本記事では、VBAのLike演算子を使って、I列(ここでは例としてC列とD列に振り分け)にデータを整理する方法をご紹介します。


サンプルコード

Sub ArrangeDataByKeyword()
    Dim targetStr As String
    Dim srcRange As Range
    Dim i As Long
    Dim outputRow As Long
    
    ' 判定対象範囲を設定
    Set srcRange = Range("B2:B15")
    outputRow = 1
    
    ' 1行ずつ判定して列振り分け
    For i = 1 To srcRange.Rows.Count
        targetStr = srcRange.Cells(i, 1).Value
        
        If targetStr Like "カテゴリ*" Then
            ' 特定文字列で始まる場合はC列へ
            Cells(outputRow, 9).Value = targetStr
        Else
            ' それ以外はD列へ
            Cells(outputRow, 10).Value = targetStr
            outputRow = outputRow + 1
        End If
    Next i
End Sub

コード解説

  1. srcRangeの設定
    判定対象のセル範囲をSet srcRange = Range("B2:B15")で指定します。
  2. Like演算子の活用
    Like "カテゴリ*"のように書くと、文字列が「カテゴリ」で始まる場合に一致します。
    アスタリスク * は任意の文字列にマッチします。
  3. Cellsプロパティで列指定
    条件に一致した場合は I列(例では列番号9)、それ以外はJ列(列番号10)に出力します。
  4. outputRowの管理
    出力先の行をカウントアップすることで、結果を縦に並べて記録します。

応用例

  • 「商品分類」「顧客分類」などのキーワードでデータを2種類に分割
  • 「○○支店」と「その他支店」でデータを整理
  • キャンペーン対象商品のみ別列に抽出

まとめ

VBAのLike演算子を使えば、特定文字を含むデータを簡単に振り分けることができます。複雑な条件判定やパターンマッチも可能なため、データ整理やレポート作成の効率化に役立ちます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次