重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

こんにちは。
下記の処理をVBAでしたいと思い書き方を調べたのですが、似た質問内容はあるものの上手く応用出来ず困っています。
どなたかお知恵をお貸しいただければ幸いです。
どうぞ宜しくお願い致します。

【前提】
・sheet1のセルt1~t5に氏名が順に記載されている。
・sheet2は、a~k列まではデータの入った表で、3行目が項目名。項目名の所にオートフィルタ▼を表示した状態。
①sheet2のa1セルにt1の氏名を表示させる。
②sheet2のe列(e3に項目名、e4~様々な氏名)をt1の内容でフィルタする。
t1でフィルタすることで氏名毎のデータが見られる仕様。
③①②が共に表示された状態のsheet2を印刷
④①~③を、【前提】のt1~t5の氏名分、上から順に繰り返す
※②でフィルタした時、該当データが無い場合も印刷される。

A 回答 (1件)

こんな感じです。

参考になれば幸いです。
印刷はプレビューにしていますので、必要に応じて「PrintOut」に変えて下さい。

Sub sample()
Dim r As Range
For Each r In Sheets("Sheet1").Range("T1:T5")
With Sheets("Sheet2")
.Range("A1").Value = r.Value
.AutoFilter.Range.AutoFilter Field:=5, Criteria1:=r.Value
.PrintPreview
End With
Next
End Sub
    • good
    • 0
この回答へのお礼

助かりました

ママチャリ様
早速ご回答いただき有り難うございます。
教えていただいたコードで無事解決することができました!
本当に助かりました。感謝致します。

お礼日時:2018/05/19 15:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!