
「Excel」のオートフィルタを使って、
自動的にリストを上から順番に抽出していって、
印刷したいのですが…。
具体的には、「部署名」が入っているA列
(B列以降に「名前」等)を、
オートフィルタを使って部署ごとに
グルーピングした後、印刷をします。
これを部署の数だけ順番に繰り返していくのですが、
部署名がとても多いので、
それを自動化したいのですが…。
マクロはよく分からないので、
「マクロの記録」ボタンを使ってしか
出来ないのですが、それだと、一度
全部の署名を「グルーピング→印刷」
して、記録させなければいけませんよね?
部署名の変更・追加等にも対応出来る
良い方法はないでしょうか?
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
私流のやり方
Sub test01()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Worksheets("sheet1")
Set ws2 = Worksheets("sheet2")
'---------部署名A列でソート-
ws1.Range("A2:C12").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
'----------最終行を察知
d = ws1.Range("A65536").End(xlUp).Row
'-----初期設定
m = ws1.Cells(2, "A")
j = 2 'Sheet2の開始行
ws2.Cells(1, "A") = "部署"
ws2.Cells(1, "B") = "氏名"
ws2.Cells(1, "C") = "住所"
'-----2からd行まで繰り返し
For i = 2 To d
If ws1.Cells(i, "A") <> m Then '前の行と部署変ったか
ws2.Range(ws2.Cells(2, "A"), ws2.Cells(j, "C")).PrintOut '印刷
ws2.Range(ws2.Cells(2, "A"), ws2.Cells(j, "C")).ClearContents 'クリア
j = 2
m = ws1.Cells(i, "A")
Else
End If
'----Sheet2のj行にSheet1のi行をコピー
ws2.Cells(j, "A") = ws1.Cells(i, "A")
ws2.Cells(j, "B") = ws1.Cells(i, "B")
ws2.Cells(j, "C") = ws1.Cells(i, "C")
j = j + 1
Next i
'----後仕舞い
ws2.Range(ws2.Cells(2, "A"), ws2.Cells(j, "C")).PrintOut
End Sub
----------
(例データ)
部署氏名住所
営業部小山東京
営業部中畑埼玉
人事部小川静岡
営業部中山愛知
開発部大島静岡
開発部大木神奈川
総務部小島三重
人事部東山埼玉
人事部小畑栃木
総務部山田東京
営業部大畑茨城
(結果)
第1ページ
部署氏名住所
営業部小山東京
営業部中畑埼玉
営業部中山愛知
営業部大畑茨城
第2ページ
部署氏名住所
開発部大島静岡
開発部大木神奈川
第3ページ
部署氏名住所
人事部小川静岡
人事部東山埼玉
人事部小畑栃木
第4ページ
部署氏名住所
総務部小島三重
総務部山田東京
マクロまで書いて頂き、
ありがとうございました!
これなら少しアレンジするだけだったので、
私でも出来ました!
まさに、思っていた通りの事が出来て
嬉しいです。
回答、有難うございました。
No.3
- 回答日時:
フィルタをかける列が何個くらいあるのか、
また、全体で何列くらいあるのかにもよるのですが、
ピボットテーブルはいかがでしょう。
グループ分け、改ページ、合計、個数等も簡単です。
多少工夫は必要ですけどね。
私のスキルでは、
ピボットテーブルで
思い通りの事をするのは難しいようです。
「集計」するぐらいしか出来ないもので…
すみません。
回答、ありがとうございました。
No.1
- 回答日時:
自動化までは行きませんが、ユーザ設定のビューと言うのがあります。
フィルターの条件を記憶させておいて次々実行していく方法です。
手順は、
(1)印刷させたい条件でフィルターをかけ、印刷設定します。
(2)ALT+V(2回押す)で、ユーザー設定のビューのダイアログを表示させます。
(3)追加ボタンを押し、ビューで名前を設定します。(印刷の設定にチェックがあることを確認)
(4)次の条件でフィルターをかけ、印刷設定(必要に応じて)し、ALT+V(2回押す)で同じように追加ボタンを押し名前を設定します。
(5)以上の要領で必要な分だけ名前をつけて設定します。
(6)すべての条件での設定完了後、ALT+V(2回押す)で表示ボタンを押し、設定した条件を呼び出し、印刷を実行します。
この条件をマクロで記録させて実行させても良いかもしれません。
もう少し、手作業が減らせると
有難いのですが…。
でも、こういう機能もあるんですね。
勉強になりました。
回答、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- アプリ 公式印刷アプリは外部ストレージ選べずSDカードに保存してある写真を印刷できませんでした!どうすれば? 2 2022/10/08 22:31
- Outlook(アウトルック) Excel表のメールアドレスリストからoutlookの宛先を設定、メールを送信する方法 2 2022/09/16 05:29
- 年賀状作成・はがき作成 エクセルで作った住所録をワードの差し込み印刷ではがきに印刷したい 3 2022/09/26 15:47
- その他(パソコン・スマホ・電化製品) エクセル初心者です。 仕事でエクセルを使っていて、普段は素人でもできる簡単な関数を使ったことがある程 1 2022/05/25 11:17
- 個人事業主・自営業・フリーランス ココナラの白色申告についてです。 個人事業主になったばかりですが、今回は白色申告をしようと思います。 4 2023/01/17 20:22
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セックスする度に胸が大きくな...
-
週1ペースで会うカップルでデー...
-
アナルファックと普通のセック...
-
セックスについて。 彼が正常位...
-
初めて泊まりにきてくれる彼女...
-
セックスしてる時に気持ちいい...
-
恋人とセフレの違いはなんです...
-
未成年同士でラブホに行った際...
-
30代前半男性の性欲
-
おじさんになってから若い女性に
-
セックス前
-
彼女とのセックスに新鮮味を感...
-
オナ禁中はセックスしてもいい...
-
貞操観念の低い女性について
-
セックスする時なぜ声出るの
-
胸が揺れるくらい激しいセック...
-
母子相姦経験者ですが、日本で...
-
付き合って1ヶ月でヤった後別れ...
-
僕の心が狭いのでしょうか…?セ...
-
彼氏が私の性格も見た目も褒め...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セックスする度に胸が大きくな...
-
週1ペースで会うカップルでデー...
-
セックスしてる時に気持ちいい...
-
恋人とセフレの違いはなんです...
-
彼女とのセックスに新鮮味を感...
-
おじさんになってから若い女性に
-
セックスについて。 彼が正常位...
-
初めて泊まりにきてくれる彼女...
-
母子相姦経験者ですが、日本で...
-
僕の心が狭いのでしょうか…?セ...
-
高校生の性行為
-
胸が揺れるくらい激しいセック...
-
アナルファックと普通のセック...
-
30代前半男性の性欲
-
セックスの2回目が無理
-
セックスする時なぜ声出るの
-
付き合って1ヶ月でヤった後別れ...
-
未成年同士でラブホに行った際...
-
体目的?
-
彼女と旅行
おすすめ情報