抽出データにスペースが混ざっていてうまく抽出できないケース

スポンサーリンク

今回はvbaでデータ抽出しようとしたところ、抽出データにスペースが混ざっていて、抽出がうまくいかないものを解決するマクロになります。

2列目に、スペースを含む文字データが入っているとします。(文字の前後にスペースが含まれていて、文字列の間にはスペースがないものとします)

スペースを削除後、1列目と2列目を絞り込むサンプルコードになります。

サンプルコード

Sub rpl()

Dim dlt() As Variant ‘スペース削除用の配列を宣言
Dim arr1() As Variant ‘1つ目の抽出項目の地区用の配列を宣言
Dim arr2() As Variant ‘2つ目の抽出項目の果物用の配列を宣言
Dim r As Long ‘最終行の数値変数を宣言
Dim i As Long ‘ループ変数を宣言

r = Cells(Rows.Count, 2).End(xlUp).Row ‘2列目の最終行を取得
dlt = Range(Cells(2, 2), Cells(r, 2)) ‘2行目から最終行までを配列取り込み

For i = 1 To r – 1
dlt(i, 1) = Trim(dlt(i, 1)) ‘配列文字データから前後のスペースを削除
Next i

Range(Cells(2, 2), Cells(r, 2)) = dlt ‘2列目にスペースを削除したデータを貼付け

arr1 = Array(“東京”, “大阪”, “福岡”) ‘地区用の絞込項目を設定
arr2 = Array(“りんご”, “みかん”, “ぶどう”) ‘果物用の絞込項目を設定

Range(“A1”).AutoFilter field:=1, Criteria1:=arr1, Operator:=xlFilterValues
‘地区を絞り込み
Range(“A1”).AutoFilter field:=2, Criteria1:=arr2, Operator:=xlFilterValues
‘果物を絞り込み

End Sub

コメント

タイトルとURLをコピーしました