No.4ベストアンサー
- 回答日時:
#2です。
補足ありがとうございます。>複数レコードを1ページとして印刷(しかも、名前ごとに)するところがなかなか難しいです。
>名前(前のレコード)と名前(今のレコード)を比較する関数(?)やデータを格納できる任意の変数があればよいと思うのですが・・・。
おしゃることは良く判ります。ワードのフィールドでの回答が出れば良いのですが、まず難しいでしょう。私も勉強させてほしいのですが。しかしOKWEBを見つづけて3年、これに類した質問回答は今までありませんでした。
○私のお勧めに対しての反応は今一つですが、下記をやって見てください。いろいろ応用が効きます。
(データシート)Sheet1のA2:C5に
鈴木辞典1冊
鈴木新書2冊
佐藤週刊1冊
佐藤専門3冊
氏名順にソートしてあること。
(印刷物シート)Sheet2の
C3に「さんの購入した本は以下の通りです。」
と文言をいれます。B2に「注文書」とかいれるのも
不動文字は自由です。C4:D18は注文明細のために
空白にしておいてください。
(プログラム)
ツール-マクロ-VBEでVBE画面に変ります
その画面で-挿入-標準モジュール
で出てきた画面に下記を貼りつける。
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
'----A
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
'-----B
d = sh1.Range("A2").CurrentRegion.Rows.Count
MsgBox d
j = 5
'---第1データ分セット
m = sh1.Cells(2, "A")
sh2.Cells(3, "B") = m
sh2.Cells(4, "C") = sh1.Cells(2, "B")
sh2.Cells(4, "D") = sh1.Cells(2, "C")
'-----第2行以下処理
For i = 3 To 1 + d
If sh1.Cells(i, "A") = m Then
'-----名前前行と同じ
sh2.Cells(j, "C") = sh1.Cells(i, "B")
sh2.Cells(j, "D") = sh1.Cells(i, "C")
j = j + 1
Else
'------名前前行と変ったとき印刷とクリア
sh2.Range("A1:f20").PrintOut
sh2.Range("c4:d18").ClearContents
'-------名前変化後分のデータセット
m = sh1.Cells(i, "A")
sh2.Cells(3, "B") = m
sh2.Cells(4, "C") = sh1.Cells(i, "B")
sh2.Cells(4, "D") = sh1.Cells(i, "C")
j = 5
End If
Next i
sh2.Range("A1:f20").PrintOut
End Sub
プリンタに上をセットして
そしてメニューの実行-SUB/ユーザー・・をクリック。
(結果)
鈴木さんの購入した本は以下の通りです。
辞典1冊
新書2冊
と
佐藤さんの購入した本は以下の通りです。
週刊1冊
専門3冊
の2枚の紙がプリンタから出てきます。
1人15冊以上注文がある場合は手直しが必要ですが、今回は略。
アドバイスありがとうございます。
WORDへの差込印刷だけしか思いつかなかったのですが、EXCELのマクロがあったとは目から鱗です。
早速試してみます。
No.3
- 回答日時:
Accessを使えるなら早いように思いますが、エクセルデータファイルをワードで差し込み印刷となると、、意外に難しいですね。
NO.1の方の補足にありました、元ファイルを変更すると他へ影響があるとのことですが、コピーしてもう一つ同様のファイルを作ってから加工するとか、エクセルのピボットテーブルで、ページエリアに購入者名を配置し、ページごと表示にすれば、あっという間に、個人集計が可能となるかと思います。説明下手ですみません。参考になれば。No.2
- 回答日時:
小生は判ってないのですが、質問への直接の回答でなくて済みません。
(1)フィールドコードなどで
おっしゃる通り、挿入-フィールド-フィールドの名前
に出てくるIfやNext(Record)などの英語の
語句を駆使すると、お望みの処理が出来るらしいとかねてから睨んでいて関心があります。
一種のプログラムを組むようなものでしょう。フィールド
コード自体がワードの中で異色な感じがします。
しかし、解説した書籍やWEBサイトがなくて、判らずじまいです。1000ページぐらいのワードの本数冊にも、あまり記述がありません。
(2)それで
ワードで差し込み印刷せず、エクセルVBAで処理する方
法もあることを御紹介します。
印刷物をデータ記録シートと別シートにして、名前が変るまで同一印刷シート次行にデータをセットし名前が変るとシートを印刷します。
ラベル印刷の例が殆どですが、過去に何度も質問があります。
http://okweb.jp/kotaeru.php3?qid=797145などの小生の回答を参考にご覧下さい。
印刷シートをエクセルのシートで設計してデータをセットするセルを決めて貰うこと、データシートで名前の入っている列や、印刷する項目列を教えてもらえれば、15行程度のVBAプログラムで、エクセル内の処理が出来ます。
この回答への補足
アドバイスありがとうございます。
複数レコードを1ページとして印刷(しかも、名前ごとに)するところがなかなか難しいです。
名前(前のレコード)と名前(今のレコード)を比較する関数(?)やデータを格納できる任意の変数があればよいと思うのですが・・・。
ワード
鈴木さんの購入した本は以下の通りです。
辞典 1冊
新書 2冊
++改ページ+++++++++++++
佐藤さんの購入した本は以下の通りです。
週刊 1冊
専門 3冊
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 年賀状作成・はがき作成 Wordによる宛名印刷 2 2023/01/04 15:36
- Word(ワード) 差し込み印刷 4 2022/07/19 20:51
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Word(ワード) wordの差し込み印刷で困っています。助けてください。word2019です。 エクセルで作ったデータ 3 2023/03/17 13:51
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- その他(Microsoft Office) エクセルで差し込み印刷する方法 1 2022/05/14 18:40
- 年賀状作成・はがき作成 はがき作家 2 2023/05/12 06:00
- プリンタ・スキャナー PDF印刷 一枚だけカラーにする方法 1 2023/02/07 09:30
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シャープのアクオス sh-m25 を...
-
excelの差込印刷で可視セルだけ...
-
エクセルVBAでの日付順のデ...
-
VBAの処理が途中で止まる
-
歯抜けの時間を埋めて行の挿入
-
エコウォッシュシステムの値段...
-
スマホで古いPCにテザリング
-
VBA 貼付先範囲(行)がいっぱ...
-
エクセルVBA 別シートの複数の...
-
複数条件に一致したデータを月...
-
VBA:同じ文字列データの比...
-
VBAで複雑な構成の転記
-
Excel で行を指定回数だけコピ...
-
ノートパソコン 2in1について i...
-
エクセルVBAで SendKeys "{TAB}"
-
vbaでコントロールブレイク
-
情報系の授業の課題なのですが...
-
LAVIE Direct DT PC-GD298ZZAL...
-
スマホ機種変更で旧機種のGoogl...
-
外付けHDDをフローリングに落と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 別シートの複数の...
-
Excel で行を指定回数だけコピ...
-
Excel VBA インデックスの境...
-
excelの差込印刷で可視セルだけ...
-
VBA:同じ文字列データの比...
-
VBA別シートの最終行の下行へ貼...
-
エクセル:VBAで月変わりで、自...
-
エクセルVBAで 2種のリストを...
-
歯抜けの時間を埋めて行の挿入
-
エクセルVBAで SendKeys "{TAB}"
-
VBAで条件が一致する行のデータ...
-
EXCELマクロで全シート対...
-
VBAの指示の内容 昨日こちらで...
-
Excel VBAでシート内全体に非表...
-
VBAで複数シート選択
-
Excelマクロ データが上書きさ...
-
Excel VBA 時刻でのD...
-
VBA 貼付先範囲(行)がいっぱ...
-
エクセルVBAでの日付順のデ...
-
【WORD差し込み印刷】複数レコ...
おすすめ情報