たとえば
■■社様
 ○○何個
 ○○何個
の○○の部分の行数が会社によって違う文書を
自動的に作成したいのですが、どのようにすれば出来るでしょう?

現在はワードの差込で文書を作り、手動でまとめています。
その作業を自動化できないものかと考えています。


 
 

このQ&Aに関連する最新のQ&A

A 回答 (4件)

>データファイルは何で作っているの?


に対する回答がありませんが
アップされたような表では出来ません

会社ごとにまとめて出力したいばあい
会社ごとにまとまっている必要があります

まとまっていればグループの区切りに空行を作成します

社名 商品名 個数
A社 ○○商品 10
A社 ××商品 15
A社 ■■商品 30

B社 ××商品 12
B社 ○○商品 10

こういう風に表を作りかえれば後はWordのフィールドだけで
ご希望のことができます

<<社名>>
<<商品名>><<個数>>
<<NextRecordIF>><<商品名>><<個数>>
<<NextRecordIF>><<商品名>><<個数>>
<<NextRecordIF>><<商品名>><<個数>>

商品名の行は1社あたりの最大+1(空行の分)を用意します
NectRecordIfはWordフィールドの挿入から挿入します

条件は
フィールド名:社名
比較:等しくない
比較対象:""

仕上がりの確認はレコードの移動では出来ません
「各レターの編集」で確認してください
    • good
    • 0
この回答へのお礼

ありがとうございます。
やっぱり無理なのかなと思いかけていたところなので
とてもうれしいです。

お礼日時:2008/02/08 06:57

元データはエクセルのシートですか。

大切なことを書いてない。
またエクセルとしても何個ー何個は
X日付ーA社名ー4個
Y日付ーA社名ー9個
・・
などのようになっているのかどうか。(日付を添えたのは推測。)
などのデータの状況も書いてないので、質問として漠然。
ーー
ワードの差込印刷ではNextRecordで次のレコード(エクセルでは次の行)のデータを採ってくるが、これと社名が変わるまでという印刷とのコントロールが難しいと思う。
ーー
エクセルやアクセスのレポートで得意先ごとに(請求書かを?)印刷する方法を勉強したほうが良さそうです。道は険しいが。
ビジネスでエクセルを使うにはVBAが必須というのが持論ですが、ここにもその局面が首を出している。
ーー
例データ
Sheet1で
A1:E8
番号社名日付買上金額作業列
1A社2月1日111101
1A社2月3日211102
1A社2月8日331103
1A社2月9日341104
3B社2月3日51201
3B社2月5日61202
5C社2月9日71301
ーー
E2には1101と入れる。
E3には 式 =IF(B3=B2,E2+1,(INT(E2/100)+1)*100+1)
と入れて下方向に式を複写。
ーー
Sheet2で
11

A社殿

請求明細
日付買上金額
2008/2/111
2008/2/321
2008/2/833
2008/2/934
#N/A#N/A
#N/A#N/A
#N/A#N/A
#N/A#N/A

99
ーー
E1の11は手作業で入れる。->12->13->14・・
殿、請求明細
日付買上金額
が不動文字です。手作業で入れる。
社名B3は
=INDEX(Sheet1!$A$1:$E$100,MATCH($E$1*100+1,Sheet1!$E$1:$E4100,0),2)
と入れる。
日付C7は
=INDEX(Sheet1!$A$1:$E$100,MATCH($E$1*100+ROW()-6,Sheet1!$E$1:$E4103,0),3)
と入れて下のほうに式を複写する。
買上金額D7は式
=INDEX(Sheet1!$A$1:$E$100,MATCH($E$1*100+ROW()-6,Sheet1!$E$1:$E4103,0),4)
と入れて式を下方向に複写。
C7:D14を範囲指定し、書式ー条件付書式ー式が
=ERROR.TYPE(C7)=7
書式はフォントを白色に設定。
これで#N/Aが見えなくなる。
ーー
合計はエラー値があってSUMなど使えないので
=SUMIF(Sheet1!$B$1:$B$100,$B$3,Sheet1!$D$1:$D$100)
で出す.
--
E1に12を入れるとB社、13を入れるとC社のデータに瞬時に置き換わる。
これを手作業で印刷処理する(にとどめる)方法もある。
ーー
会社数は99社、明細は99明細/1社までの設計になっている。
Sheet1のE列の作業列の番号のセットの仕組みを知れば999社までとかに広げられる。
ーー
こんなに関数ではややこしくなる。
VBAを知っておれば素直な考えでプログラムができる。
私も今回始めてこのタイプの回答に切り込んだ。だから質問者には難しいかも。
ーー
後は、自動的に全社分印刷するのは、別途「imogasi方式 請求書」でWEB照会すれば、VBAコードが出てくる(10行以内の簡単なもの)
上例ではE11に11をセットー>印刷、12にセットー>印刷
をVBAが自動でやる。

この回答への補足

おっしゃるとおりアクセスのレポートで出来ることを
アクセスを使わず、作成したいのです。

確かに教えてくださったように作成できますが、

各社営業担当がコメントを入力するという作業があるので
データとしてまとめて保存されていることが望ましいのです。
(コメントを記入する担当者数は各社によって違います。)

VBAは現在徐々に勉強中です。
参考になりそうな例があれば教えてください。

補足日時:2008/02/06 23:32
    • good
    • 0
この回答へのお礼

ご親切に教えてくださってありがとうございました。
新しい知識を増やすことが出来て
とても感謝しています。

お礼日時:2008/02/08 07:00

Wordの差し込み印刷は、1つの文書にデーターベース(Excelデータなど)の1つのレコードが差し込まれる仕組みになっています。



従って、同じ宛先は同じ行に入力されている必要があります。
即ち、Excelなどの差し込みデータの位置を変更する必要があると思います。
    • good
    • 0
この回答へのお礼

もともとのデータは集計などをする都合上、
変更することが不可能なのです。

このようなことをWordの差込印刷を使ってするのは無理なようですね。
回答ありがとうございました。

お礼日時:2008/02/06 23:02

補足要求です



>■■
は差し込み印刷じゃないの?

データファイルは何で作っているの?Word?

この回答への補足

かなり説明不足だったようです。
データファイルはExcelです。
■■は差込印刷です。

たとえば
複数の会社から商品の委託販売を請け負ったとして、
A社 ○○商品 個数
B社 ××商品 個数
A社 ××商品 個数
というようなリストから

各社あてに売上報告書を作りたいのです。
委託商品は毎月多少変動します。

別にワードでなくても良いのですが、
その後、各社の営業担当がコメントを入力するという作業があるので
ワードで作成しています。

アクセスはソフトがないので使えません。

という状況なのですが、なんとかなりますでしょうか?

補足日時:2008/02/06 22:37
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

Q差し込み印刷 «Next Record»について

Excel2007 Word2007
Excelの表をWordの表に差し込み印刷をしたのですが
2行目の右の列から差し込みできません。
(画像をご覧ください)
原因と対処方法を教えて下さい。


上の表 Excelデータ
中の表 差込フィールド挿入
下の表 結果のプレビュー

Aベストアンサー

失礼ながら、質問者さんはWordの差し込み印刷関連で何度か回答
をされていましたよね?
"Next Record"の動作も理解をして回答されていたのかと思って
いましたが、正しく理解されていないのでしょうか?

Excelなどのデータから差し込みする場合、データ列は差し込み
する項目になり、データ行はレコードとしてつの単位になって、
データを送ります。
次のレコード(データ行)にする場合に使うのが"Next Record"に
なります。

Word側で表形式でない場合に、"Next Record"の配置を考えれば、
次のレコードを指定する位置は「クラス」の列だけになります。
そうしないと、「氏名」の列に追加した"Next Record"の動作で、
データ行が次のレコードに送られるために2行目が3行目になり、
データが合わなくなります。
表形式の場合も同じで、同行にある場合は"Next Record"の追加
する位置は、最初の列のみで済むのです。
表形式を解除したときにタブ区切りされることを知っていれば、
このような動作になることも理解できると思います。

質問にある添付画像をもとに、理解できそうなものを編集して、
添付しましたので、参考にしてください。
緑の四角枠は、"Next Record"がないのでそのまま、朱色の丸枠
については、"Next Record"があるためにデータの位置がずれて
Excelの行が3→4→5となっていることが理解できますね。

失礼ながら、質問者さんはWordの差し込み印刷関連で何度か回答
をされていましたよね?
"Next Record"の動作も理解をして回答されていたのかと思って
いましたが、正しく理解されていないのでしょうか?

Excelなどのデータから差し込みする場合、データ列は差し込み
する項目になり、データ行はレコードとしてつの単位になって、
データを送ります。
次のレコード(データ行)にする場合に使うのが"Next Record"に
なります。

Word側で表形式でない場合に、"Next Record"の配置を考えれば、
次のレコードを指定...続きを読む

Q得意先別 差込み印刷 複数ページ

得意先別 差込み印刷 複数ページ

エクセルに入力した受注データを、差し込み印刷で 発注先別に発注書を作成したい作業です。

発注書をワード文書で作成し、データをエクセルから差し込み印刷しました。
((納品先からの)受注データを発注先別にソートしまとめ、各発注先ごとに、1行空欄の行を挿入してあります)

発注件数が多い場合、少ない場合様々で、ワード文書には多めにフィールドを設定してあります。



●エクセルデータ

発注先  商品  納品先  納品日  数量  金額  備考  ダミーデータ
A社    あ   ア   2010/6/1  1   5000  ―     a
A社    い   ア   2010/6/1  1   6000  ―     b
A社    あ   イ   2010/6/5  2   10000  新規    c

B社    か   カ   2010/6/2  1   8000  ―     d
B社    き   イ   2010/6/5  1   9000  新規    e

C社    さ   ア   2010/6/3  1   7000  ―     f




●ワード文書

設定は下記です。

?Next Record If?≪ダミーデータ≫ 等しくない “”  

{ NEXTIF { MERGEFIELD ダミーデータ }<> """" }


・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

≪発注先≫

≪ダミーデータ≫ ≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫  
?Next Record If?≪ダミーデータ≫ ≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
?Next Record If?≪ダミーデータ≫ ≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
?Next Record If?≪ダミーデータ≫ ≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
?Next Record If?≪ダミーデータ≫ ≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
=======================================================次頁

≪発注先≫

?Next Record If?≪ダミーデータ≫ ≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
?Next Record If?≪ダミーデータ≫ ≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
?Next Record If?≪ダミーデータ≫ ≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
?Next Record If?≪ダミーデータ≫ ≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
?Next Record If?≪ダミーデータ≫ ≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
=======================================================



●印刷結果

≪A社≫

商品 納品先  納品日  数量   金額  備考 
あ   ア   2010/6/1  1   5000  ―    
い   ア   2010/6/1  1   6000  ―    
あ   イ   2010/6/5  2   10000  新規   
12:00:00 AM 0 ¥
12:00:00 AM 0 ¥
=======================================================次頁

≪  ≫

12:00:00 AM 0 ¥
12:00:00 AM 0 ¥
12:00:00 AM 0 ¥
12:00:00 AM 0 ¥
12:00:00 AM 0 ¥
=======================================================



困っていること


多めに設定してあるフィールドのデータのない部分に、納品日・数量・金額 の項目部分が上記のように
表示がはいってしまい印刷が1枚で終わらない。

※DDEというものを試みましたが、~~出来ませんでした となってしまいます。

Word 2002
Excel 2002 です。

サイトを検索して、やり方をかき集めて作ったもので、自分では1からよく理解できていません。
どうかよろしくお願いいたします。

得意先別 差込み印刷 複数ページ

エクセルに入力した受注データを、差し込み印刷で 発注先別に発注書を作成したい作業です。

発注書をワード文書で作成し、データをエクセルから差し込み印刷しました。
((納品先からの)受注データを発注先別にソートしまとめ、各発注先ごとに、1行空欄の行を挿入してあります)

発注件数が多い場合、少ない場合様々で、ワード文書には多めにフィールドを設定してあります。



●エクセルデータ

発注先  商品  納品先  納品日  数量  金額  備考  ダミーデ...続きを読む

Aベストアンサー

Excel側のダミーデータの列は連続しているほうがよいと思う。
空白行のみのデータがあると、うまくいかない可能性があるので。
(連番でも計算結果でも何でもよいので空白のみの行を作らない)

[空白行]と[発注先]を条件にしてNEXTIFフィールドを利用しては。
{ NEXTIF { MERGEFIELD 発注先 }<> """" }

参考過去ログ
【差込印刷で顧客別に複数行のデータを印刷する方法で困っています】
http://oshiete1.goo.ne.jp/qa2844223.html

こちら↑を参考にしているのでしょうが、回答にあるような手順のほうが
確実だと思います。

≪発注先≫

商品 納品先  納品日  数量   金額  備考
≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
≪Next Record If≫≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
≪Next Record If≫≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫
≪Next Record If≫≪商品≫ ≪納品先≫ ≪納品日≫ ≪数量≫ ≪金額≫ ≪備考≫

発注先別の商品名数の最大数だけ、≪商品≫≪納品先≫などの行を
用意して1ページのみにしてください。
次ページを用意する必要はありません。

それと、日付と数量などのデータ部分の空白が表示されるのは
IFフィールドなどで対応する必要があるかもしれません。
DDEでの差し込みでも無視するかどうかが確実ではないので。

{ IF { MERGEFIELD 納品日 } = "12:00:00 AM" "" { MERGEFIELD 納品日} }

これらを設定したら、新規文書への差し込みショートカットキー
[ Alt+Shift+N ]キーでデータが確実に差し込まれているかを
確認してください。

Excel側のダミーデータの列は連続しているほうがよいと思う。
空白行のみのデータがあると、うまくいかない可能性があるので。
(連番でも計算結果でも何でもよいので空白のみの行を作らない)

[空白行]と[発注先]を条件にしてNEXTIFフィールドを利用しては。
{ NEXTIF { MERGEFIELD 発注先 }<> """" }

参考過去ログ
【差込印刷で顧客別に複数行のデータを印刷する方法で困っています】
http://oshiete1.goo.ne.jp/qa2844223.html

こちら↑を参考にしているのでしょうが、回答にあるような手順のほうが
確実だと...続きを読む

Q【WORD差し込み印刷】複数レコードを1ページに。

差し込み印刷について伺います。
エクセルでデータファイルを作り、ワードで印刷するものです。

エクセルファィル
鈴木 辞典 1冊
鈴木 新書 2冊
佐藤 週刊 1冊
佐藤 専門 3冊

ワード
鈴木さんの購入した本は以下の通りです。
 辞典 1冊
 新書 2冊

というように、複数のレコードを氏名ごとに1枚の通知文にしたいと考えています。
フィールドコードなどで、名前を判断し改ページができるような方法があれば教えてください。
 

Aベストアンサー

#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冊以上注文がある場合は手直しが必要ですが、今回は略。

#2です。補足ありがとうございます。
>複数レコードを1ページとして印刷(しかも、名前ごとに)するところがなかなか難しいです。
>名前(前のレコード)と名前(今のレコード)を比較する関数(?)やデータを格納できる任意の変数があればよいと思うのですが・・・。
おしゃることは良く判ります。ワードのフィールドでの回答が出れば良いのですが、まず難しいでしょう。私も勉強させてほしいのですが。しかしOKWEBを見つづけて3年、これに類した質問回答は今までありませんでした。
○私のお勧め...続きを読む

QWordの差込印刷でNextRecordを使いたいのですが、教えてください

教えてください。
Wordの差込印刷でNextRecordを使うと、データソースの順序通りではなく、飛々に差し込まれてしまうのはどうしてでしょうか?

Wordのメイン文書の設定は、標準のWord文書
データソースは、Excelの3列101行(1行はタイトル)の表です。
Excelの1列目は、本の名前(タイトル名)
Excelの2列目は、作者(タイトル名)
Excelの3列目は、出版社(タイトル名)

このデータソースをWordの白紙の標準文書に、1行目に本の名前、2行目に作者、3行目に出版社として差込フィールドの挿入をします。
そして、Wordフィールドの挿入のNextRecordを使って、5行目から7行目に同じ差込フィールドを挿入し、同じく9行目から11行目にも同じ差込フィールドを挿入します。
次に新規文書への差込を実行すると、Word文書の1ページには、データソースExcelの2行目から4行目が、Word文書の2ページ目には、データソースExcelの5行目から7行目が差し込まれて、34ページまで続く予定なのですが、データソースExcelの順序が飛々なのです。

どうしてもNextRecordがうまく機能しません。どうか教えていただけないでしょうか?

教えてください。
Wordの差込印刷でNextRecordを使うと、データソースの順序通りではなく、飛々に差し込まれてしまうのはどうしてでしょうか?

Wordのメイン文書の設定は、標準のWord文書
データソースは、Excelの3列101行(1行はタイトル)の表です。
Excelの1列目は、本の名前(タイトル名)
Excelの2列目は、作者(タイトル名)
Excelの3列目は、出版社(タイトル名)

このデータソースをWordの白紙の標準文書に、1行目に本の名前、2行目に作者、3行目に出版社として差込フィールドの挿入をします。
そ...続きを読む

Aベストアンサー

以下「NE」と書いているのは、「NextRecord」の略とします。
現在は
(文書1)
<<タイトル>>
NR
<<作者>>
NR
<<出版社>>
NR
となっていませんか。
第1行目 <<タイトル>>
第2行目 <<作者>>
第3行目<<出版社>>
第4行目
NR
第5行目 <<タイトル>>
第6行目 <<作者>>
第7行目 <<出版社>>
第8行目
NR
としてはどうでしょうか。(勘違いでしたら済みません)
エクセルでは1行が1レコードです。
だから、持ってくるエクセルのデータに付いて、次の行に移って持ってくるときにNextRecordを置きます。
<<>>の中に指定するのは「フィールド」といって
項目名に当たりますが、文書上のこの順序と位置は
画面上に指定します。
プログラム的考えなんですが、この経験がないと判り難い
だろうと思いますが。
差しこみ印刷で「一文書上で」、エクセルの次行の項目を使わないときはNRは意識しなくても良いように成っています。
エクセルが、差しこみ印刷でも、ある場面ではNRを意識させない設計になっているので戸惑う点であります。

以下「NE」と書いているのは、「NextRecord」の略とします。
現在は
(文書1)
<<タイトル>>
NR
<<作者>>
NR
<<出版社>>
NR
となっていませんか。
第1行目 <<タイトル>>
第2行目 <<作者>>
第3行目<<出版社>>
第4行目
NR
第5行目 <<タイトル>>
第6行目 <<作者>>
第7行目 <<出版社>>
第8行目
NR
としてはどうでしょうか。(勘違いでしたら済みません)
エクセルでは1行が1レコードです。
だから、持ってくるエク...続きを読む

QWord差し込み印刷 数式について

Excelの請求データを差し込み印刷に読み込み請求書を作成しています。
明細が多くて、1枚では行が足りなく2枚、3枚となることがあります。

請求書のフォームとして、全ての請求書の合計が明細の上に表示して、明細書の一番最後にも合計が来るようにしたいのです。
1枚に収まるのなら見えている表の行数だけをSUMで計算式をいれたらいいのですが、2枚、3枚となる税抜額、消費税額、税込合計を計算式で表示させる方法を教えてください。

売上日 伝票No. 顧客番号 商品名 単位 数量 単価  金額 税込小計額 税抜小計額
270401 1111     1 本    5 100 500
270401 1111     1   消費税 0 0 40 540 500

しかも、明細は顧客番号ごとに請求書、伝票番号ごとに表示されて、伝票番号ごとに伝票計をいれたいのです。

Aベストアンサー

No1です。
参考までに近い機能で
アドバンスフィルターがあります。
http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_advancedfilter.html
を参考にしてください。
下の方にマクロのコードがあります。

上のタイトルの部分に顧客番号を表示
必要であれば、氏名や住所などは顧客リストから
Vlookup関数
合計金額は Sum関数で出ます。

明細の部分に必要な項目を入れておきます。
マクロで顧客ごとのデータを抽出します。

又、マクロのChangeイベントを利用すれば更に簡単に
明細データが抽出できます。
頑張ってみてください。

Q差し込み印刷で特定のデータだけを印刷したい

エクセルで作成した住所データを使って、
ワードで宛名印刷をしたいのです。
数十件のデータがあるのですが、例えば、会員の方だけ
印刷したい・・・という場合に
エクセルに項目を作ってマークか何かを入れておけば
そのマークが入っているものだけ印刷することは
可能でしょうか?
(筆まめは使ったことがあって、そういう機能があったのは
覚えているのですが、今回はワードとエクセルでしないと
いけないので・・・)
私だけでなく、パソコンに慣れてない他の人にもこれを
やってもらわないといけないので、なるべく簡単な方法が
あれば・・・と思っています。
よろしくお願いします。

Aベストアンサー

下記操作で会員(エクセル側に1をセット)だけラベルが作成されました。(WD2000,EX2000)
エクセルのテストデータとして
(A) (B) (C)
氏名住所会員
山田東京都1
上田埼玉県
下田栃木県1
中田神奈川県
青田千葉県1
「会員M.xls」で保存する。(例)
ワードに変わり
(1)ワードを開く
(2)ツール
(3)差し込み印刷ヘルパー
(4)(メイン文書)宛名ラベル
(5)作業中のフィールド
(6)(データファイル)データファイルを開く
(7)「会員M.xls」
(8)ワークシート全体-OK
(9)(ラベルオプション)KOKUYO2160ラベル(例)-OK
(10)差し込みフィールドの挿入
(11)ドロップダウンから住所、氏名、会員をクリック    しスペースや改行で各項目のラベル内の位置を決   める。
     <<住所>>
          <<氏名>>
                 <<会員>>
(12)クエリ・オプション
(13)ドロップダウンから会員をクリック
(14)演算子は=
(15)値を1と入れる。(1=会員)
(16)OK
(17)<<abc>>をクリック。確認。
東京都        | 栃木県     
   山田      |      下田             1   |        1
---------------------------------------
千葉県   |
   青田 |  
      1    |
となります。

下記操作で会員(エクセル側に1をセット)だけラベルが作成されました。(WD2000,EX2000)
エクセルのテストデータとして
(A) (B) (C)
氏名住所会員
山田東京都1
上田埼玉県
下田栃木県1
中田神奈川県
青田千葉県1
「会員M.xls」で保存する。(例)
ワードに変わり
(1)ワードを開く
(2)ツール
(3)差し込み印刷ヘルパー
(4)(メイン文書)宛名ラベル
(5)作業中のフィールド
(6)(データファイル)データファイルを開く
(7)「会員M.xls」
(8)...続きを読む

Q差込印刷で不要部を印刷しない

差込印刷の宛名ラベルを印刷する時
  
  〒<郵便番号> 
   <住所> 
   <氏名>様

・・・としますが、例えば1枚に12名の印刷できる用紙使って13名の
  印刷をする場合 
   → 1名のほかに 「〒」「様」だけは印刷されます。

     この無駄な印刷は、何とかなりませんか?

Aベストアンサー

いきなりプリンタに差し込むのではなく,いったん「新規文書」に差し込んでください。できた「新規文書」は普通のWordファイルです。そして不要部分を選択して削除してから印刷すればいいと思います。必要に応じてその「新規文書」を保存してもいいかもしれません。

頻繁にデータを変えて差し込みする場合は,上記の方法では面倒に思うかもしれません。その場合はWordのフィールドコードで細工します。(または#1さんのように差し込みデータとして作っておく方法をとります)
話がわかりやすいようにフィールドコードが表示されている状態で説明します。
(もしフィールドコードが見えない場合は,[Alt]+[F9]でフィールドコードを表示します。)
いま,

  〒<郵便番号> 
   <住所> 
   <氏名>様

となっているところを ※

  {IF{MERGEFIELD 住所}="" "" "〒" }{IF{MERGEFIELD 住所}="" "" "{MERGEFIELD 郵便番号}" }
   {IF{MERGEFIELD 住所}="" "" "{MERGEFIELD 住所}" }
   {IF{MERGEFIELD 住所}="" "" "{MERGEFIELD 氏名}" }{IF{MERGEFIELD 住所}="" "" "様" }

とします。
意味は,<住所>フィールドに何も入力されていなければヌル(文字数ゼロの文字列,つまり何もなしという意味)を返し,そうでなければそれぞれのフィールドを返すようにする,ということです。

※フィールドコードを表わす { } は,[Ctrl]+[F9]で入力して直接半角文字で記述する。(漢字の部分はもちろん全角文字です)か,Wordのボタンを使います。フィールドコード内にフィールドコードが入っている(入れ子になっている)ので注意して入力してください

いきなりプリンタに差し込むのではなく,いったん「新規文書」に差し込んでください。できた「新規文書」は普通のWordファイルです。そして不要部分を選択して削除してから印刷すればいいと思います。必要に応じてその「新規文書」を保存してもいいかもしれません。

頻繁にデータを変えて差し込みする場合は,上記の方法では面倒に思うかもしれません。その場合はWordのフィールドコードで細工します。(または#1さんのように差し込みデータとして作っておく方法をとります)
話がわかりやすいようにフィール...続きを読む

Qエクセルから帳票形式に差込印刷したいのですが

皆さん初めまして!

エクセルで1万件に近いデータがあります。

これらを帳票形式に差込印刷したいと思えば、ワードの「差込印刷」機能以外に、エクセル自体で行なうことは不可能でしょうか?

(例:請求データを請求書フォームに印刷)

ワードの差込印刷は便利ですが、エクセルデータ形式(特に金額のカンマ区切り表示が必要なため)を参照する際は、フィールド設定の数の制限が22列まで?で・・・行き詰っています(私は約40列あります)。

エクセル・ワードの操作は上級手前の操作まではいけますが、
エクセルでVBA、差込印刷マクロを作るとまではいけないもので・・・何か妙案がありましたらご教示願います・・・

Aベストアンサー

#01です。出血大サービスです(^^;
ただし不具合以外の修正はご自身でお願いします。
2行目~4行目と項目の定義の箇所は再度設定し直してください。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "Sheet1" '元データのシート名
Const prs As String = "Sheet2" '印刷するシート名
Const strt As Integer = 2 '元データの実データ開始行
Dim idx, fromL, toL As Long
Dim oSht, pSht As Worksheet
Dim res, res2
 Set oSht = Worksheets(org)
 Set pSht = Worksheets(prs)
 res = MsgBox("印刷行範囲を指定しますか?" & Chr(13) & _
  "はい:指定する、いいえ:指定しないで全件印刷、CANCEL:印刷しない", vbYesNoCancel)
 Select Case res
  Case Is = vbCancel
   Exit Sub
  Case Is = vbYes
   res2 = Application.InputBox("印刷開始行を半角数字で入力して下さい", Type:=1)
   If TypeName(res2) = "Boolean" Then
    MsgBox "印刷を中止しました", vbOKOnly
    Exit Sub
   Else
    If res2 >= strt And res2 <= oSht.Range("A65536").End(xlUp).Row Then
     fromL = res2
    Else
     MsgBox "開始行が不適切です。印刷を中止しました", vbOKOnly
     Exit Sub
    End If
   End If
   res2 = Application.InputBox("印刷する最終行を入力して下さい" & Chr(13) & _
     "99999を入力すると最終行まで印刷します", Type:=1)
   If TypeName(res2) = "Boolean" Then
    MsgBox "印刷を中止しました", vbOKOnly
    Exit Sub
   Else
    If res2 = 99999 Then
     toL = oSht.Range("A65536").End(xlUp).Row
    Else
     If res2 >= fromL And res2 <= oSht.Range("A65536").End(xlUp).Row Then
      toL = res2
     Else
      MsgBox "最終行が不適切です。印刷を中止しました", vbOKOnly
      Exit Sub
     End If
    End If
   End If
  Case Else
   fromL = strt
   toL = oSht.Range("A65536").End(xlUp).Row
 End Select

 For idx = fromL To toL
'以下の行を項目数だけコピーして定義する
  pSht.Range("A1").Value = oSht.Cells(idx, "A").Value
'
  pSht.PrintOut '印刷
'5頁につき8秒休止する
  If (idx Mod 5) = 0 Then
   DoEvents
   Sleep 8000
  End If
 Next idx
End Sub

#01です。出血大サービスです(^^;
ただし不具合以外の修正はご自身でお願いします。
2行目~4行目と項目の定義の箇所は再度設定し直してください。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "Sheet1" '元データのシート名
Const prs As String = "Sheet2" '印刷するシート名
Const strt As Integer = 2 '元データの実データ開始行
Dim idx, fromL, toL As Long
Dim oSht, pSht As Worksheet
Dim res, res2
 Set oSht = Works...続きを読む

QWordの差込印刷、同じラベルを複数作るのは?

Wordの差込印刷で質問です。Excelのお客さまデータを使い一人あたり10枚のラベル(10面1枚)を作成したいと思います。
データを10回コピーすればできるとは思いますが、簡単に作れる方法があるのではないかと思います。ご存知の方教えてください。

Aベストアンサー

#2でご回答有りますが、差込印刷では
<<フィールド名>><<NextRecord>> の<<NextRecord>>が入る事で
エクセルなどの次ぎの行の「フィールド名」のデータを見に行く(行かせる)のです。
これを10個あるフィールド指定とNextRecordの対のうち、最後のNextRecordだけ残し、他のシール区画のものを消すと、同じ行のデータを使うため、同じ内容が10個出ます。そして最後の次ぎすなわち新ページ用紙だけ次の行を見に行くので、内容が変わり増すので、目的のようになります。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報