エクセルマクロVBAについて
エクセルマクロVBAについて、こんなこと出来ますか?
■A列からAS列の1行目にヘッダー情報をもつデータベース
■A列に担当者名
■A列にオートフィルタをかけて各担当ごとにデータを抽出したものを別シートに貼り付けて自動印刷したい
■担当者は都度変わるので、Criteria1:="xxx"というようには直接書けない(担当名を自動で抽出したい)
■担当者の数も都度変わる
■補足 一行のデータを特定の雛形に転記する必要があるので別シートに出したいです
ちなみに、アナログで記録したコードは以下です。
Sub test1()
Sheets("データ抽出シート").Select
ActiveSheet.Range("$A$1:$AS$300").AutoFilter Field:=1, Criteria1:="山田"
Range("$A$1:$AS$300").Select
Selection.Copy
Sheets("抽出データ貼付シート").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Sheets("データ抽出シート").Select
ActiveSheet.Range("$A$1:$AS$300").AutoFilter Field:=1, Criteria1:="斉藤"
Range("$A$1:$AS$300").Select
Selection.Copy
Sheets("抽出データ貼付シート").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Sheets("データ抽出シート").Select
ActiveSheet.Range("$A$1:$AS$300").AutoFilter Field:=1, Criteria1:="田中"
Range("$A$1:$AS$300").Select
Selection.Copy
Sheets("抽出データ貼付シート").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub
これ、担当者の抽出を自動でなんとかなりませんか?
お礼
早速の回答ありがとう御座います!!!!!! <コードだけ書いて、したい内容を文章で書かないから、判りにくい。 失礼しました。VBA自体初心者なので、見当はずれなことを言ってたら ごめんなさい。 A1には計算式で求められた数が入ります。 整数で、切り上げている数字です。(ラウンドアップというやつ) その数字ページだけ、「さささ」シートを印刷したいのです。 送った相手は「あああ」シートのA1に数字を入れてます。 selectedsheetsにした理由は、マクロの記録をコピペしただけです。 「プログラムで、作業グループにする」と言う意味は ど素人なのでちょっと分かりません。 こんな感じでどうでしょうか。