質問

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

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


 
 

通報する

回答 (4件)

>データファイルは何で作っているの?
に対する回答がありませんが
アップされたような表では出来ません

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

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

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

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

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

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

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

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

仕上がりの確認はレコードの移動では出来ません
「各レターの編集」で確認してください

この回答へのお礼

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

元データはエクセルのシートですか。大切なことを書いてない。
またエクセルとしても何個ー何個は
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は現在徐々に勉強中です。
参考になりそうな例があれば教えてください。

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

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

この回答へのお礼

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

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

補足要求です

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

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

この回答への補足

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

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

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

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

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

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

このQ&Aは役に立ちましたか?1 件

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

新しく質問する

注目の記事

フリーアナウンサー長谷川豊氏の新コーナー「このニュースどう思います?」がスタート!

元フジテレビのフリーアナウンサー長谷川豊氏から気になるニュースについておしトピの皆さんに質問します! 皆さんの意見をもとに長谷川豊氏がコラムを執筆します! アプリリリース記念として最大1万分のアマゾンギフト券プレゼントキャンペーンも実施中!

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


新しく質問する

このカテゴリの人気Q&Aランキング

毎日見よう!教えて!gooトゥディ

べんりQ&A特集