見出し画像

【Excel VBA】Excelで大量のデータをワンクリックで完結

以前に紹介した給料明細についての近い内容です。
まあ、ほとんど同じです。
少しループを付けてアレンジしました。

YouTubeでも解説しています。是非、ご覧ください。

成績表を、データがなくなるで印刷

こんにちは。伊川(@naonaoke)です。
今回は、ご視聴者様からの質問の内容について解説します。

質問は下記の通りです。


動画を作って欲しいものがあります。学校の定期テストの成績表です。一覧表を作ったらそのあとVBAで個人成績票を印刷する方法をお願いします。印刷ボタンは全員印刷、クラスごとに印刷、何番の生徒を印刷などとボタンを作る。個人成績票には各教科の点数、平均点、偏差値、各教科の順位、国数英三科の合計と順位、国社数理英の五科合計と順位、男女別の順位、男女全ての順位をA4用紙に5人くらい印刷されるように作りたいです。
成績一覧表から個人票を印刷することはExcelでは難しいです。VBAがわからないので私はExcelで集計後Accessで個人票を印刷してました。ぜひ覚えてやってみたいのでVBAの動画お願いします。きっとみなさん助かります


ということで、この印刷のところについて解説します。
クエリとか、ACCESSとか、ありますが、一番カンタンな方法です。
その他の部分に関しては、作成できなくはないですが、有料で承ります。
無料での作成は、私にとっても、お客様にとってもいいことはありません。
また、経験上、この類は、電話等で、話をしないと無理ですし、どうしても、お客様のファイルを確認する必要があるからです。

このブログはこんな人にお勧め

ExcelVBAを勉強している人
ACCESSで、レポートのひな型を作成するのが面倒な人
同じ帳票を一気にExcelで印刷したい人

このブログを、読み終わるころには・・・・

ACCESSでレポートを作成するより、はるかにカンタンだと、理解していただけると思います。
簡易的な報告なら、ACCESSのレポートを利用しますが、今回の成績表なら、Excelでひな型を利用するのが、いいでしょう。

データを一気に印刷

今回は、個別のデータを、人数分、A4の用紙に印字するというものです。
確かに、ACCESSのレポート機能でもできます。
しかし、今回は、Excelやります。
なんと言っても、メンテナンスがカンタンです。
ループを究極の参照方法で実現します。


データを一気に印刷 作業手順 その1 データベース確認

画像1

このようなデータベースがあるとします。
質問の内容から、データは整形されていると思われます。
ACCESSで実行したいとありますので、いい加減なものではないと思います。
このデータを個人の成績表にします。

画像2

データを一気に印刷 作業手順 その2 究極の参照を使う

上の記事で紹介しました。
究極の参照方法は、イコールで参照することです。
今回は、データベースで作成されたデータを利用するので、整形されているはずです。

ならば、究極の参照で行きます。

画像3

赤枠のように、必要なデータを、すべて、イコールで参照します。
ただ、これだけです。
VLOOKUP関数も、Index関数とMatch関数も必要ありません。

データを一気に印刷 作業手順 その3 VBAのコード

画像4

単純に、Do Until ~Loopで、データがなくなるまで、印字を実行します
つまり、Sheet2のRange(“A2”)が空白になるまで、印字します。

画像5

データを一気に印刷 作業手順 その4 MsgBoxを自動で閉じる

画像6

私のパソコンは、プリンタに接続していないので、Msgboxを自動で閉じる方法です。

上の図のように、Windows Sprict Host Object Model にチェックを入れます。

画像7


データを一気に印刷 作業手順 その5 余談

私のパソコンは、プリンタに接続していませんので、印字の検証が難しかったですね。
装飾するなら、印字中のダイアログを表示させないとか、あると思いますが、難しいのでやめました
これは、私が、実務で利用していますので、便利に利用できると思います。

ここがポイント

給料明細コードに、Do Until~Loopを加えただけです。
VBAでは、ループはよく利用しますので、For~Nextも、しっかり、理解しましょう。
そして、今回のように、どの場面では、どのループを利用するのかということも、理解しましょう。

まとめ


内容は、ほとんどが、かぶっていますが、なかなか、口頭だけでは伝わりませんので、記事にしました。
知っているコードを組合わせれば、何か、良い事が、起きるかもしれません
今回も最後まで読んでいただきありがとうございました。

よろしければサポートをお願いします。いただいたお金に関しては、書籍の購入に充て、より良い情報を皆様に提供します。