
データはエクセルの複数シートにあります。
A2列に氏名、D4列に出欠、他の列には日付、課題などが入力されています。
欠席者のみに、氏名入りで、欠席した回の課題をお知せする文書を作りたいです。
シートがひとつなら、ワードの差込印刷を使ったことがあります。でも、複数シートからデータをとりたい時は、ワードの差込印刷はできますか?
ワードの差込印刷が無理なら、エクセルの他のシートにお知らせを作って、差込印刷みたいなことができる方法はありますか? エクセルだけでできたら、それはそれで嬉しいのですが。
No.2ベストアンサー
- 回答日時:
こんにちは。
そのやる気が大事です。
先ず、新しいブックでテストしてみましょう。
---------------------------------------------------
【VBAコードの作成方法】
●新しいブックを開く
●メニューバーの「ツール」 > 「マクロ」 > 「セキュリティー」
表示されるセキュリティーの画面の「セキュリティーレベル」タブをクリック
高・中・低の「中」を選択(既に選択してあれば無視)し、OKボタン
これは一度設定しておけば未来永劫さわることはありません
●メニューバーの「ツール」 > 「マクロ」 > 「Visual Basic Editer」
ここでVBEの画面が表示されます
●VBEのメニューバーの「挿入」 > 「標準モジュール」
ここで画面右側に白い作業領域が表示されます
そこに下記プログラムコードをコピーして貼り付けます
●最上段タイトルバーの右の「×」ボタンでVBEを閉じます
これでVBAコードの作成は終了です。
------------------------------------------------------
【データについて】
Sheet1,2 を氏名等のデータとし、Sheet3を印刷用とする
Sheet1,2 は次のレイアウトとする
1行目見出し(A列・氏名)(D列:出欠)
2行目からデータ
D列出欠データの欠席は、「欠」と1文字入れる
--------------------------------------------------------
【実行内容】
Sheet1,2の出欠欄(D列)が「欠」の人の氏名(A列)を
印刷用シート(Sheet3)のセル「C5」に差込み、印刷する
--------------------------------------------------------
【VBAの実行方法】
●メニューバーの「ツール」 > 「マクロ」 > 「マクロ」
ここでマクロ画面が表示されますので
実行したいマクロ(TestPrint)を選択し、
右上の「実行ボタン」をクリック
---------------------------------------------------------
【VBAのコード】Sub TestPrint ~ EndSub までを貼り付ける
---------------------------------------------------------
Sub TestPrint()
Dim Sht As Worksheet
Dim R As Long
Application.ScreenUpdating = False
Worksheets("Sheet3").Activate
For Each Sht In Worksheets
If Sht.Name <> "Sheet3" Then
For R = 2 To Sht.Range("A65536").End(xlUp).Row
If Sht.Range("D" & R).Value = "欠" Then
Range("C5").Value = Sht.Range("A" & R).Value
ActiveSheet.PrintPreview
End If
Next R
End If
Next Sht
Application.ScreenUpdating = True
End Sub
-------------------------------------------------------------
これは実際の印刷ではなく印刷プレビューが表示されます。
どうですか? 簡単でせう?(^^;;;
実際のお知らせもVBAでやりたくなったら、そのレイアウトを提示してください。
A列(氏名)B列(日付)C列(項目1)・・・
見出しは、何行目にあるか、データは何行目からか。
印刷用シートを作成するわけですが、そのシート名。
印刷用シートのどのセルにデータを差込むか等。
以上です。
この回答への補足
お試しコードありがとうございました。VBA すごいです! もし自由に使いこなせたら なんでもできちゃいそうで夢が(?!)ふくらみますね。
どんなVBAを組んで、どんな作業をしようか、わくわくしながら考えちゃいました。っで、あんまり複雑なものを教えていただくと、そのコードを読み取って後々自分で加工していくのが難しそうなので、まずは手はじめにVBAでリストを作って、リストからワードに差込印刷というパターンでやってみようかと思うのですが、そういう方法はどうなのでしょうか?
【データ】
●シート1からシート20まで、同じ配列でデータがあります。
●1行目は見出しです。2行目から1人づつのデータです。(多くても65行までと思っています。)
●A列に到達度、B列に出欠をいれました。
●C列からM列が氏名、課題、その他のデータです。
●リストはシート21にあります。
【VBAでやってみたい作業】
●シート1から20で A列が「C」または「D」ならば その行のA列からM列をコピーして シート21のA列からM列に形式を値にして張り付ける
●シート1から20で B列が「欠」ならば その行のA列からM列をコピーしてシート21のA列からM列に形式を値にして張り付ける
っというのが、私が乏しい知識で考えたリストの作り方なのですが。。。これじゃ、不具合がでるかもしれなくて、こんなかんじの作業かなという程度です。
こんなVBAってできるものでしょうか?
それとも、こういう作業はVBAではなく、他のやり方がいいのでしょうか?
No.1
- 回答日時:
こんにちは。
残念ながら複数シートから差込みはできません。
で、代案としては。
(1)差込む度に差込みシートを代える
(2)シート毎に差込み文書を作成
(3)シートを増やしそこに全てのシートをコピーし差込む
上記はシートが多いとちょと面倒ですよね。
で、あと考えられるのはエクセルのみでやる場合です。
それにはVBAを使うことになります。
VBAにトライしてみますか?
なら簡単なコードをアップしますが・・・。
以上です。
この回答への補足
VBAってマクロを組むとか、そういうやつですか?
エクセル初心者なので、マクロはまったくやったことがありません。・・・でも、やってみたいなあ。(頭が良くなくてもできるでしょうか?)
できるかどうか、ぜんぜん自信無いのですが、手ほどきお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) 差し込み印刷 4 2022/07/19 20:51
- Excel(エクセル) 【Excel】複数シートがあるエクセルデータで片面印刷と両面印刷設定がシートごとに入 1 2023/03/10 15:25
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Excel(エクセル) エクセルVBAで複数のシート印刷設定 1 2022/09/07 12:03
- Excel(エクセル) 差し込み印刷がうまくいかない 2 2022/07/29 12:26
- Excel(エクセル) セルによって印刷するシートを変える方法 EXCEL-VBA 2 2022/08/01 20:48
- Visual Basic(VBA) VBAで不特定枚数印刷をしたいです。 4 2022/08/02 07:30
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
- 年賀状作成・はがき作成 Wordによる宛名印刷 2 2023/01/04 15:36
- 年賀状作成・はがき作成 はがき作家 2 2023/05/12 06:00
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の色も参照 VLOOKUP
-
エクセルの保護で、列の表示や...
-
ExcelのVlookup関数の制限について
-
【マクロ】【配列】3つのシー...
-
シートをまたぐ条件付き書式に...
-
エクセルで、チェックボックス...
-
【条件付き書式】countifsで複...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
Excelのセルの色を変えた行(す...
-
Excel の複数シートの列幅を同...
-
Excel 2段組み
-
Excel VBA ピボットテーブルに...
-
エクセルの列の限界は255列以上...
-
excel・VBAで奇数・偶数の分岐...
-
【VBA】複数のシートの指定した...
-
ある数値に対して、値を返す数...
-
Excel2003で売掛帳を作成したい...
-
Excelに自動で行の増減をしたい...
-
エクセルVBAで売上帳作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】【配列】3つのシー...
-
文字の色も参照 VLOOKUP
-
【条件付き書式】countifsで複...
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
Excelのセルの色を変えた行(す...
-
エクセルで、チェックボックス...
-
VBAで繰り返しコピーしながら下...
-
シートをまたぐ条件付き書式に...
-
Excelでの並べ替えを全シートま...
-
Excel の複数シートの列幅を同...
-
エクセルの列の限界は255列以上...
-
SUMPRODUCTにて別シートのデー...
-
VLOOKアップ関数の結果の...
-
excel 複数のシートの同じ場所...
-
【VBA】複数のシートの指定した...
-
Excelに自動で行の増減をしたい...
-
エクセル マクロ 標準モジュー...
-
Excel 2段組み
-
スプレッドシートでindexとIMPO...
おすすめ情報