今回は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
コメント