dポイントプレゼントキャンペーン実施中!

差込印刷は実際に使ったことはありませんが、このサイトや他の差込印刷に関するサイトを見ておおよその要領、イメージは解ったつもりです。

通常の差込印刷は、

Wordに雛形を作成→Excelでデータベースを作成しておく→Wordに差込フィールドを挿入
、という流れですが、今回はそうではなく、

Wordに雛形を作成→Excelに空のデータベース(と呼んでいいのかどうか??)を作成→Wordの雛形に差込フィールド(と呼んでいいのかどうか??)を作成→Wordの差込フィールドにデータを入力する→Excelの空データベースの最新行にそのデータが自動入力される→Wordの雛形の差込フィールドに新たにデータを入力する→Excelの空データベースの最新行にそのデータが自動入力される
、というイメージです。
ひょっとしたらWordではなくExcelのみで行うのか、あるいはAccessを使用するのか??

具体的な手順を御教示いただけると尚嬉しいです。
よろしくお願い致します。

A 回答 (5件)

ANo.1です。



データフォームで同時に表示できるフィールドは32までです。
BMまでだと65なので「フィールドが多すぎます」になります。

その方式で行いたいのであればVBAを使うことになるかと思います。
ただ、使ったことがないようですので
Excelでお仕事!
http://www.asahi-net.or.jp/~ef2o-inue/top01.html#
このようなサイトや本などで勉強してください。

方法にこだわらなければ、ANo.2さんが言われているような方法でシートに入力するのがいいでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ご紹介のサイト、過去に見たことがあるようなサイトですが、改めて見ましたら、これがあれば教則本なんか要らないですね。

お礼日時:2008/08/29 18:45

#2です。



マクロは標準モジュールにコピペして下さい。No.3で書いたVBAもそのままでは使えないと思います。シート名やデータの入力場所によって書き換えが必要です。よくわからなければ、無理にVBAに頼るよりも、おそらく最初に回答した方法でデータ入力する方がいいと思いますよ。
    • good
    • 0
この回答へのお礼

ありがとうございます。
後学のためにも一度トライしてみます。
それで無理なら仰せの通り、ベタでやることにします。

お礼日時:2008/08/30 01:14

#2です。



「範囲をあらかじめ反転させておく」というのは表現がまずかったですかね。範囲をマウスで(orシフトを押しながら)指定するという意味です。

Sheet1にデータを書き込むとします。VBAのフォームの代わりにSheet2のB2~B65(A1~A65は項目名を書いておく)に縦に入力しておくというのはどうでしょうか?Sheet1の1行目に項目名があるとすると2行目以降の書き込まれていきます。2行目が書き込まれている場合は3行目に書き込むようになっています。

Sub DataInput()
Dim MyData(65)
Sheets("Sheet1").Select
Range("b65536").End(xlUp).Select
j = ActiveCell.Row
For i = 1 To 65
  MyData(i) = Sheets("Sheet2").Cells(i, 2)
  コンマを外すと新たにデータ入力しやすいようにデータを消去します
  'Sheets("Sheet2").Cells(i, 2).ClearContents
  Cells(j + 1, i) = MyData(i)
Next
End Sub

この回答への補足

ありがとうございます。

>Sheet1にデータを書き込むとします。VBAのフォームの代わりに
>Sheet2のB2~B65(A1~A65は項目名を書いておく)に縦に入力してお
>くというのはどうでしょうか?Sheet1の1行目に項目名があるとす
>ると2行目以降の書き込まれていきます。2行目が書き込まれてい
>る場合は3行目に書き込むようになっています。

これはよく判らないんですが、Sheet2のB2~B65に「Sub DataInput()
~End Sub」を入力するんでしょうか?

とんちんかんな質問かもしれませんが、よろしくお願いいたします。

補足日時:2008/08/29 18:45
    • good
    • 0

VBAを使ってフォームを作成するのも一つですが、VBAは難しいかもしれませんね。

データ量にもよりますが、試行錯誤しながらフォームを作っている暇があれば、データ入力をする方が早く終わるかもしれませんしね。

私ならウィンドウズの固定とセル移動を右にしてデータを打ち込んでいくと思います。入力範囲をあらかじめ反転させておけば、最終列にデータを打ち込んだ後は次行の最前列に来ます。データの入力規則を設定しておけば、誤入力はかなり防げます。試してみてください。

この回答への補足

ありがとうございます。
VBAが使えたら一番理想的なものが出来るはずなのですが、難しいですか?

http://excelvba.pc-users.net/
このようなサイトを見て、やりかけたことはあるのですが、必要に迫られていなかったため、中途半端に終わってしまいました。

>私ならウィンドウズの固定とセル移動を右にしてデータを打ち込んでいくと思います。入力範囲をあらかじめ反転させておけば、最終列に
>データを打ち込んだ後は次行の最前列に来ます。

この入力範囲をあらかじめ反転させておく、というのはよく意味が判らないのですが・・・?

補足日時:2008/08/28 18:09
    • good
    • 0

こんばんは。



たぶんおやりになりたいことは、入力項目が並んでいる表がありそれに入力するとデータベースに入力したデータが蓄積される、ということだと思います。

通常このようなことは個人的に作るのであれば、AccessやExcelを使います。
Wordでは難しいです。(Wordだけでは無理)

流れとしては、入力項目が並んでいる表とは「フォーム」と呼ばれるものです。項目名と入力用のボックスなどを組み合わせて作ります。
Excelであれば、機能としてデータフォームというのがあります。
このフォームに入力されたデータをあらかじめ作成しておいてデータを蓄積する領域に入れます。Excelだと「シート」、Accessだと「テーブル」と呼ばれる領域になります。

Excelを使うのが無難のような気がしますね。

エクセル入門使い方データベースをカンタン入力する
http://dreamy.boy.jp/kihon9.htm

もう少し本格的なものを作るのであれば、VBAというプログラム言語を使ってフォームを自作するところか始めることになります。

この回答への補足

ありがとうございます。
やりたいことは仰せのとおりです。

ご教示の「データフォーム」機能ですが、列の数がA~BMまであり(全て必須ではないのである程度省略は出来ますが、焼け石に水かも...?)、「データフォームに設定されているフィールドが多すぎます」となってしまいます。
で、試しに列の数をA~K位に絞ってやれば正常に操作できました。

どうすればいいでしょうか?
ご教示よろしくお願いいたします。

補足日時:2008/08/28 09:12
    • good
    • 0

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