ExcelVBA 応用編 データを扱う (1)

「ExcelVBA入門」を応用したサンプルプロシージャです。
このサンプルプロシージャは、私の環境で作成したものです。このままでは実行できない場合があります。(ブックやシートが無いと動きません) そのようなときには、自分の環境に合わせて作成しなおしてください。

★セルのデータを元にフィルターをかけるには

セルのデータを条件に顧客情報を抽出し、新しいシートに貼り付けます。
Sub 顧客抽出()

    Sheets("顧客名簿").Select                               'シートを選択
    Range("B4").Select                                     'セル内を選択
    Selection.AutoFilter                                   'オートフィルタを設定する
    Selection.AutoFilter Field:=3, Criteria1:=Range("D2").Value 'セルD2の値が抽出条件
    Selection.CurrentRegion.Select                         'アクティブセル領域を選択
    Selection.Copy                                         'コピー
    Sheets.Add                                             'シートを追加
    sheetname = ActiveWorkbook.ActiveSheet.Name            'シート名取得
    'クリップボードのデータを形式を選択して張り付ける
    '[Paste:=xlPasteColumnWidths]の形式は列幅
    Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    ActiveSheet.Paste               'コピーされたデータを貼り付ける
    Sheets("顧客名簿").Select       'シートを選択
    Selection.AutoFilter            'フィルター解除
    
End Sub