• ベストアンサー

エクセルで伝票に自動記載?

例えば、納品書のひな形があったとして、そこへ別のシートに打ったデータを記載したいのですが出来るでしょうか。 データとしては、 一行に日付、名前(取引先)、商品名、値段を打っていき、範囲指定するとそのデータがひな形に転記されて印刷するというような感じなんですが。 納品書としては、取引先毎で印刷するので、最低限範囲指定する場合はソートを駆けてそろえておくものとします。 たぶんデータベースソフトとかでは簡単にできるとは思うのですが、お知恵をお貸しください。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

【推奨】ワードで差し込み印刷を行う 準備: ワードで納品書のひな型を作成する エクセルでリストを作成する リストには、今回印刷したい対象行に印刷したいシルシを記入しておくとよい 手順: http://pc.nikkeibp.co.jp/article/technique/20100805/1026763/ ポイント: URLの2ページ目の中段に表示されているエクセルのリスト画面で、「チェックマーク」を入れた行が印刷される リスト画面がオートフィルタのようになっているのを選び、印刷したい対象行を絞り込んで差し込むことができる 【よくあるご相談】エクセルだけでやる マクロを使い、リストの対象データをひな型シートにイチイチ転記して都度印刷させます 参考: http://www.geocities.jp/ttak_ask/office_docu/es4_21.html ポイント: 工夫すれば、リストを1セルずつわざわざ転記するような事をする必要はありません。 たとえばひな型シートの例えばA1セルに、リストの「何行目」を参照したいか2とか4とか数字で記入、ひな型の所定のセルにはそれぞれリストのA1行目のデータを参照してくる数式を =INDEX(Sheet1!A:A,A1) などのような数式で準備しておきます あとはこのA1セルの数字を、実際に印刷したい行番号を順繰り2,3,5、7…などのようにマクロ等を使ってひとつずつ記入させます。ひな型に指定行のデータが自動的に表示されるので、印刷と併せてマクロにすべてを実行させます。 勿論実現するには、ある程度のマクロの知識が必要です。試しにここでサンプルとか作り方を教わっても、ご自分で実際のエクセル向けに手直しできなければ、役には立ちません。

de_viant
質問者

お礼

回答ありがとうございます。 今回の質問では利用できそうにないですが、普段、ワードもエクセルもあまり使ってないので、差し込み印刷というのが目からウロコでした。

その他の回答 (4)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

取引先で絞り込んだデータだけを別シートに表示したいなら以下のような配列数式を使用することになります。 元データがSheet1にあり、A列が日付、B列が取引先、C列が商品名の場合、以下の式を入力すればA1セルに絞り込んだ取引先を表示できます(絞り込んでいないときは最終データを表示)。 =INDEX(Sheet1!B:B,MAX(INDEX(SUBTOTAL(3,INDIRECT("Sheet1!B"&ROW($2:$1000)))*(Sheet1!$B$2:$B$1000=$A$1)*ROW($2:$1000),))) たとえばC列の商品名データを表示したいなら以下の式を入力し、Ctrl+Shift+Enterで確定して、下方向にオートフィルします。 =INDEX(Sheet1!C:C,SMALL(IF((SUBTOTAL(3,INDIRECT("Sheet1!B"&ROW($2:$1000))))*(Sheet1!$B$2:$B$1000=$A$1),ROW($2:$1000)),ROW(A1))) なお、ご使用のExcelのバージョンが明記されていなかったので(使用できる関数などが異なるため)、上記の数式はエラー処理をしていません。 ISERROR関数を使用した条件付き書式や、IFERROR関数などで適宜エラー処理をしてください。

de_viant
質問者

お礼

回答ありがとうございます。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

>一行に日付、名前(取引先)、商品名、値段を打っていき、 >範囲指定するとそのデータがひな形に転記されて >印刷するというような感じなんですが。 よくあるパターンです、以下の発想で考えてみてください。 一行に日付、名前(取引先)、商品名、値段を打っていき、 ひな形のシートに 日付と名前(取引先)をプルダウンで入力すると 指定した一覧がひな形のシートに抽出され、印刷するというような感じなんですが。 エクセルのフィルターオプションと云う機能をご存知ですか。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter3.htm のサイトに詳しく紹介されています。 下の方にマクロのコードがあります。 シートモジュールにコードを記述しておけば、名前(取引先)を変更すると 自動で一覧が抽出される仕組みが出来ます。

de_viant
質問者

お礼

回答ありがとうございます。

  • weboner
  • ベストアンサー率45% (111/244)
回答No.3

Excel 納品書テンプレート http://office.microsoft.com/ja-jp/templates/TC001059363.aspx ↑のような形式なら、vlookup関数での拾い出しでも十分可能 個別の計算式はデータの形がわからないと提示は出来ませんが

de_viant
質問者

お礼

回答ありがとうございます。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.2

他のセルを参照して値を表示させたい・・・ってことですよね。 この場合、自分はOFFSET関数を使うのが一般的なような気がするんです。 ですが質問のケースではマクロを使わないとできないでしょうね。 マクロを使わないとするとフォームでオプションボタンを作成して参照する行を指定することになると思います。 そんなわけで回答としては   「できる」 になります。 OFFSET関数は   =OFFSET(基準,行数,列数[,高さ,幅]) のようにして使います。 (基準をA1にしてB2セルを参照する場合、OFFSET(A1,1,1)になります) Sheet2のB2セルから下へデータが並んでいるのであれば   =OFFSET(Sheet2!A1,B1,1) などと記述し、何番目のデータを参照するかを示すB1セルに値を入れてやればOK オプションボタンからどうやって値を読み取るのかは自身で調べてみてください。 (これくらいはできますよね)

de_viant
質問者

お礼

回答ありがとうございます。

関連するQ&A

  • エクセルでエクセルへ差込印刷

    エクセルのデータベースを別シートのエクセル(雛形)へVBAで自動印刷させようと思うのですが、雛形の範囲がA4サイズの9分の1しか無く、シート単位で印刷設定すると余白だらけで、A4用紙がもったいないです。 たとえば、同じ雛形をA4サイズに9つ作成し、そこにデータベースの1~9を表示させ、印刷を行う。それ以降のデータも同じ雛形に9つ分のデータを表示させ、印刷を行うようにしたいのですが、可能でしょうか? VBAは、まだ、初歩的なことしか作成出来ない為、分かり易く、教えていただけると幸いです。

  • 既存シートにデータ追加したい

    ■マスターシート 日付 商品 個数 付加データ ↓ (項目列ごとに下記追加されていきます) (付加データだけは月末に一括手入力) ↓ ■納品書TMPシート ■日付名シート納品書(印刷用) --------------------------- 現在、マスターシートから、納品書TMPシートを使い、 同ブック内に日付名シートの納品書(付加データ除く)をVBAで作成しています つまり、付加データだけが入力されてない納品書が日付名シートで作成されます 月末の処理都合上、マスターシートへ付加データ一括入力して 既に作成されている各日付名シートに追加転記させたいのです マスターデータの項目日付と日付名シートが一致の場合、 その日付の付加データを抽出し、該当の納品書へ転記する 関数VLOOKUPなどで、各納品書に表示はできるのですが、 都合上月初にマスターデータをクリアしなければならず、 そうした場合、表示エラーになるので、転記データを残す方法を VBAで考えています。 For文などで固定日付でのシート抽出は何とか出来るのですが、 さらにマスターシートの日付も動くので?入れ子?ループ?悩んでいます どなたか助けて下さい

  • データ抽出

    VBA初心者です。 エクセルで2枚のシートを練習用で作成しました。 画像上段がシート1で元データです。 下段が転記先の表で、シート2です。 シート2は、今はデータが参考に貼りつけてありますが 普段はマクロで作業後は消去して、空白にしています。 今したい処理が 元データをINPUTBOX関数を使って抽出し、 NO,購入日付、分類、感想、備考のデータを下段画像シート2のように 転記したいのです。 抽出条件のキーになるのは、主に「購入日付」と「分類」です。 どこかのセルに、日付を範囲指定で入力すれば、条件に当てはまる データをシート2に表示させたいです。 四半期ごとのデータを検索したいためです。 INPUTBOX関数でなくても、どこかの特定のセルに範囲指定する日付を入力 して、抽出してもかまわないです。 あと、分類は割と「飲料水」を抽出して、印刷する頻度が多いのですが 今後の参考に、全部の分類を抽出できるスタイルが望ましいです。 現在は、一行一行日付と分類を目視で確認しながら シート2にコピペ作業しているので 時間がかかります。 エクセルの機能でフィルタ等をしてみたのですが、 関数やVBAで素早くしたいのですが、なかなかコードが思いつきません。 お願いします。

  • 納品伝票って複写じゃないとダメなのでしょうか?

    注文書をFAXして、複数取引先からの納品書を、自社注文書から消しこみして、本来、取引先が持ってくる納品伝票を自社で3枚複写の伝票(仕入伝票・・自社控え、納品書と物品受領書を取引先へ渡している)印刷しております。 この3枚複写の伝票をB5コピー用紙へ印刷した場合, 自社分は,DB化され保存され、いつでも印刷できます。 納品書と物品受領書の2枚を1枚1枚レーザープリンターで印刷した伝票は,税法上、商取引上問題があるのでしょうか?

  • エクセルVBA 図のコピー&ペーストの方法

    いつもお世話になっております。 VBAを学習中の者です。 今回は図のコピー&ペーストについて教えてください。 (作成中の表:Excel2010を使用) (1)Sheet1:帳票一覧  A列:NO B列:氏名 C列:写真 D列:プロフィール  のような表を行毎に作成しています。   (2)Sheet2:個別帳票雛形  マクロの実行により、雛形シートをコピーして、配列に格納したデータをコピーしたシートの指定箇所に転記 簡単に説明するとこのような作業を行いたいと考えています。 現在写真以外の転記については問題無く処理が行えました。 (仕様) 1.写真には01,02,03,04・・・・・と名称を付けております。 2.転記先シートのB4~C12セルを結合して写真の貼付エリアとしています。 3.転記時に画像データのサイズを自動調整(又は貼付エリアに見栄えよく貼れるように数値を指定) 4.貼付エリアの中央にくるように配置 以上を行いたいと思っております。 どうぞよろしくお願いします。 、

  • エクセルでの日付指定印刷

    エクセルの印刷機能の質問です。 シートに日付ごとに取引先の情報が並んだデータがあります。(顧客マスタの頭に日付がついたものをイメージしていただいたらいいと思います。) この中から当日(TODAY())のものだけを抜き出して印刷したいのですが、自動的にボタンひとつで出力する方法はありますでしょうか? また、日付入力欄?を設けてその日付のものを印刷する等・・・ 難しいのは、該当するデータの件数が変動するため印刷範囲をどのように変化させるかが検討もつきません。。。 マクロ?を使うとできそうではありますが、どこから手をつけてよいものか検討がつきません。 使用する人間が団塊の世代の方々ですので、できる限り簡単に出力できるよう工夫したいと思っています。 ご返答よろしくお願いします。

  • エクセルの請求書の作り方

    毎回苦戦しているので良い方法があれば教えて下さい。 シート1に必要なデータを投入。 シート2に請求書&納品書の雛型。 シート1の列1をシート2の納品書の1に シート1の列2をシート2の納品書の2に という形で作りたいのですが 毎回手入力でリンクさせてるんですが たびたび商品が変わったり減ったり増えたりで 苦戦してます。 アクセスで作れば簡単なのはわかるんですが 会社の環境でアクセスが使えません。 おわかりになる方、どうぞよろしくお願い致します。

  • エクセルで一行毎、一枚づつ自動でプリントアウトしたいです。

    エクセルで一行毎、一枚づつ自動でプリントアウトしたいです。      A列   B列 5行目  品名   数量  6行目  商品A   1 7行目  商品B  45 8行目  商品C   6 9行目  商品D   0 10行目 商品E   8 11行目 商品F   0  :    :    :  :    :    : 現在は Sheet1に上のような表があり Sheet2に製品明細の雛型がたくさん作ってあり、 品名と数量をSheet1から参照し入力された状態になっており 数量が0のもの以外を選択して手動で印刷しています。 今後は 製品明細の雛型は1つで 製品明細を1行毎を1枚に印刷し 数量が0のものは印刷しないように自動でできるようにしたいです。 どのようなマクロを作れば良いのでしょうか?

  • エクセル 伝票、等を連続印刷

    初心者です。エクセルでデータ30件を別シートの伝票等に連続で印刷する方法で困ってます。 ます、データが30件あって(全て支払日時、金額、支払先が異なる) それを伝票に1件1件連続印刷したいのでが、(マクロを使って) その方法はデータ1から30までを上から順に印刷して合計30枚の伝票を作りたいのです。(支払日、支払先 金額)を伝票のシートの下のほうに貼り付けて(印刷しても文字が隠れるように印刷範囲を指定して)その数値を伝票の各項目と=で結んであります。1番目のデータを印刷したら その次に 2番目、3番目と 最後30番目まで続くように自動で設定したいのです。 私が本をみてやってみたら、2番目、3番目と連続してプリントアウトできません 1枚で終わってしまいます。 初心者ですが よい方法を教えて下さい。 もしかしたら、こんな感じですか? Worksheets(2).Range("A2:A30").PrintOut

  • エクセルで複数シートをまとめる

    エクセル初心者です。店舗ごとにシートを分けて現金出納を入力しています。 日付  科目   入金   出金   残高 2/1 普通預金      1    1 2/1 売上    1         2 2/2 売上    1         3 上記のように店舗が16あるので16シートづつ入力してしています。これを一つのシートにそのまま自動転記させ1枚で印刷したいと思っています。できれば、自動転記させたものを日付ごとに印刷したいと思いますがエクセルで可能でしょうか。初心者の私にはできませんでした。どうか詳しい方教えてくださいお願いします。

専門家に質問してみよう