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