セルがある同じ行のリスト番号を反映して印刷する

このQ&Aのポイント
  • エクセル2003を使って、セルがある同じ行のリスト番号を反映させて印刷する方法を教えてください。
  • 顧客リストの各行には、氏名、住所、電話番号、メールアドレスなどのデータがあります。
  • リスト番号を手動で入力する代わりに、リストにデータを入力する段階で自動的にリスト番号を反映させる方法はありますか?
回答を見る
  • ベストアンサー

セルがある同じ行のリスト番号を反映して印刷する

エクセル2003を使っています。 (1)顧客リストを作りました。 1.氏名 2.住所 3.電話番号 4.メールアドレス… (2)別シートに、この顧客データを1件につき1枚に印刷する印刷シートを作りました。 (1)にリスト番号を入力すると(2)のシートに反映するようにvlookupで反映できたのですが、「いちいちリスト番号を入力」しなければならず、可能であればリストにデータを入力している段階でリスト番号が反映されそのまま(2)のシートが印刷できるようにしたいのです。 何かいい方法はありませんか? 「セルがある行と同じ行にあるリスト番号を反映させる」という書き方でご理解いただけますか? よろしくお願いします。

  • s1023
  • お礼率77% (49/63)

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

  • ベストアンサー
回答No.3

#2です。当方XL2002での環境下です。 1. [Alt]+[F11]VBEの実行 2. 挿入 - 標準モジュール 3. 先の回答のすべて SUB ~ END SUB までを張り付け 4. [×]閉じる 5. 印刷指定行で[Alt]+[F8]マクロの実行 6. 「印刷して次の行へ」を選んで 7. [実行] ※6・7は 適当な図形を作成し、右クリック、マクロの登録 - 印刷して次の行へ をしておくと便利 >この「〇25」にセル選択している段階で、自動的にA25の「16」をA1に「16」と反映できないでしょうか? に関しては、「できる」としか言えない。当方の勉強不足で。。。。m(_ _)m ただ、シート名、セル番地をはっきりしないと誤動作しかねない。 まずは、当方のマクロが成功したか否かだけでも少しは今後の回答に役に立つと思う。

s1023
質問者

お礼

いろいろ教えていただきありがとうございます。 やはり、一番したかったセルを置いた行のリスト番号を反映するのはできないようです。 私が素人のため、せっかく教えていただいたことがきちんとできていないのかもしれません。 コピーをして貼りつけてみたのですが… すいません。 本当にありがとうございました。

その他の回答 (2)

回答No.2

Sub 印刷して次の行へ()   '別シートでは実行されないようエラー処理     If ActiveSheet.Name <> "顧客リスト" Then Exit Sub   'アクティブセルのA列の値を印刷シートのA1セルに入れる     Worksheets("印刷シート").Range("A1") = _     Range("A" & ActiveCell.Row).Value   '印刷プレビュー(印刷)     Worksheets("印刷シート").PrintPreview 'Printout   '顧客リストのB列の次の行へ     Range("B" & ActiveCell.Row + 1).Select End Sub

s1023
質問者

補足

早速の回答ありがとうございます。 うまく説明できなくてすいません。 マクロやコードっていうのが全く分からないので 丁寧に説明していただき、とても勉強になります。 顧客リストは A10から始まります。 A:リスト番号 B:氏名 C:住所 D:電話番号 E:詳細...ETC A1にリスト番号を入力します B1からvlookupでリスト番号のデータを反映させて 印刷シートにデータを配置して1枚のデータシートを作ります。 印刷は、データをリストに入力する都度1枚づつ印刷します。 連続印刷はしません。 データを入力して、A1にリスト番号を入力するのですが リストを入力している段階でA1にリスト番号を反映させる…と言いましょうか… たとえば、A25にデータを入力しているとしてリスト番号は「16」で… 今の段階ではA1まで飛んで、「16」と入力するのですが、 この「〇25」にセル選択している段階で、自動的にA25の「16」をA1に「16」と反映できないでしょうか? また、Subの後にはこのまま「印刷して次の行へ()」としておいていいのでしょうか? 何卒よろしくお願いいたします。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

マクロによって対応することになりますね。 例えばシート1が元の表でA列にリスト番号が入力されているとして、そのリスト番号をシート2のA1セルに入力して、そのシート2を印刷するとしたら次のようにします。 シート見出しでSheet1を右クリックして「コードの表示」で表示される画面には次のコードを入力します。 Sub連続 印刷処理() Gyou1 = InputBox("A列の何行目から印刷しますか?行番号を入力してください。") Gyou2 = InputBox("A列の何行目まで印刷しますか?行番号を入力してください。") For i = Gyou1 To Gyou2 Worksheets("Sheet2").Range("A1").Value = Worksheets("Sheet1").Range("A" & i).Value Worksheets("Sheet2").PrintOut Next End Sub コードを実行するためにはAltキーを押しながらF8キーを押します。 表示の画面で連続印刷処理を選択し「実行」ボタンをクリックします。

s1023
質問者

補足

早速の回答ありがとうございます。 うまく説明できなくてすいません。 マクロやコードっていうのが全く分からないので 丁寧に説明していただき、とても勉強になります。 顧客リストは A10から始まります。 A:リスト番号 B:氏名 C:住所 D:電話番号 E:詳細...ETC A1にリスト番号を入力します B1からvlookupでリスト番号のデータを反映させて 印刷シートにデータを配置して1枚のデータシートを作ります。 印刷は、データをリストに入力する都度1枚ずつ印刷します。 連続印刷はしません。 データを入力して、A1にリスト番号を入力するのですが リストを入力している段階でA1にリスト番号を反映させる…と言いましょうか… たとえば、A25にデータを入力しているとしてリスト番号は「16」で… 今の段階ではA1まで飛んで、「16」と入力するのですが、 この「〇25」にセル選択している段階で、自動的にA25の「16」をA1に「16」と反映できないでしょうか? また、Subの後にはこのまま「連続印刷処理()」としておいていいのでしょうか? 連続印刷はせず、1枚ずつ入力する都度にそのリスト番号のデータを印刷するという印字です。 何卒よろしくお願いいたします。

関連するQ&A

  • excelでマクロを使用した連続印刷について

    A2セルから通し番号、氏名、住所等のデータが入力されている「データ」シートがあり、 VLOOKUPを使用してB3セルに「データ」シートのA列にある「通し番号」を 入力すると氏名・住所等が反映される「印刷」シートがあります。 例えば「データ」シートのC列(住所)に「東京都」という文字列が 含まれている宛名のみを連続で印刷したい場合、 どのようなマクロになりますでしょうか? (マクロ内に「東京都」と指定する方法と、 シート内の特定セルに入力した文字列で指定する方法が ありますでしょうか?) wordでの差し込み印刷や、宛名ソフト等の使用は考えておりません。 よろしくお願いいたします。

  • [excel]違うシートの行番号を取得したい

    こんにちは。 質問させて頂きます。 使用ソフトはexcel2010です。 やりたいことは、 ・違うシートの行番号を、違うシートに挿入した関数の中に挿入したい です。 現在、「データ」「入力」という2つのシートがあります。 「入力」というシートのP127のセル中に、 「=IF(F127="","",VLOOKUP(F127,リスト,2,FALSE))」という関数が入っています。  ※「データ」シート内に、{リスト}と名前を定義づけた所を参照しています。 「データ」というシートの{リスト}と名前を定義したところに、 「=ROUNDDOWN(((入力!D127+入力!I127+入力!K127入力!K127)*10)*0.9,0)」という関数が入っています。 このままだと、正常に計算してくれるのですが、「入力」のP128のセルに移ったとき、 「データ」の関数を 「=ROUNDDOWN(((入力!D128+入力!I128+入力!K128入力!K128)*10)*0.9,0)」 と言う具合に、「入力」の足し算するセルを移動させたいのですが、自動的にセルの番地を変えることが出来るのでしょうか? 「入力」の関数を入れる行数と同じ行番号で「データ」の足し算するセルの行番号を振り当てたいです。 分かりにくい説明ですが、お答えお待ちしております。 どうぞよろしくお願い致します。

  • 空白セルに上段の内容を

    顧客情報をまとめたリストの中に 顧客番号・氏名・住所・お買い上げ商品などが入っています。 数百行に渡るリストの中で、一人の顧客が商品を二つお買い上げの時、 氏名と住所が同じ為、2行に渡るリストの中で氏名と住所は同じ為、省略され、セルが空白になっています。 このリストを住所毎に並べ替えたいのですが、この空白のセルに上段の内容をコピーしていくのはかなりの手間になってしまうので、 何とか良い方法は無いものでしょうか?

  • あるセルに文字が入力されている行だけを別シートにコピーする方法

    ある一つのセルに文字が入力されている行だけを別シートに 自動でコピーする方法はありませんでしょうか? 顧客リストをエクセルで管理しているのですが、 「休眠顧客」をそこから自動で抜き出す方法を探しています。 たとえば、ある列を「リリース」とか「アプローチ中止」などの 項目にし、そのセルに●印が入っている行だけを自動で、別シートに 反映させたく思っています。 自動で「休眠顧客リスト」ができたらいいなって思っています。 どなたか、お教えくださいますよう、お願いいたします。

  • エクセルで順番に印刷したい

    シート1に住所録があり、そこへ入力されている行の値をシート2の封筒の様式にコピーして表示してあります。 シート2ではVlookUPで「1」と入力すると1行目の住所録データ、「2」で2行目の住所録データが表示されるようにしてあります。 現在の使い方だと、シート1の入力データが30行あった場合、「1」→「印刷」、「2」→「印刷」、「3」→「印刷」・・・と30回繰り返さなくてはなりません。 これを一発でできる方法をお教えください。

  • 空白行になるまでループし、印刷するマクロを教えて下さい

    シート1にデータがあり、シート2にvlookup関数を使用して、 番号に対応する登録番号・所属・氏名を表示させるようにしました。 質問なのですが、 A2に番号が1~3まであり、空白(空白行)になるまで シート2に登録番号・所属・氏名を表示させ 番号ごとに印刷をしたいと思っています。 シート2に番号1の内容(登録番号・所属・氏名)を表示させ印刷し、 印刷後、シート2に番号2の内容を表示させシート2印刷し、 印刷後、シート2に番号3の内容を表示させシート2印刷し、 番号行が空白になったらこの処理を終了するというマクロを作りたいのですが、 どのようにしたらよいですか。 初心者でよく分からないのですが。 皆さん教えて下さい。 【シート1】 番号 登録番号 氏 名 所属学科 職名 1 00001 田中 健太 機械工学科 教授 2 00201 音   光 機械工学科 講師 3 01525 鈴木 洋  機械工学科 助手 【シート2】 番号 登録番号: 所属: 氏名:

  • 別のシートを印刷する

    エクセルについての質問です ・シート1にデータとしてリストを作成しています。 ”Vlookup”を使ってリスト番号のデータを別枠に出すようにしました。 ・シート2に↑シート1で作成したリストのリスト番号のデータを1枚のシートに出す印刷シートを作りました。 ”=Sheet!D4”を使いました。 ・シート2を印刷すれば全く問題はないのですが、シート1のデータリストをデータの種類によってセルの色分けをしました。 シート2にもシート1と同じ色のセルの塗りつぶしをして、1目で判別するようにしました。 ↑ここからなんです。 セルに色を入れたので、シート2をそのまま印刷すると、セルに色がついて(会社は白黒ですが)見た目も悪くなります で、ページ設定で白黒印刷をしたところ、セルの色はなくなりましたが、印刷シートに項目部分をグレーで編みかけしていたので、それも消えてしまいます。 …というわけで、シート2の印刷シートとまったく同じシート(シート3;色なし)を作り、それを印刷したいのです。 会社のおばちゃんたちは、入力はできるのですが、細かい設定が全くできず、覚えようともしません。 と、いうわけでセルに色が入っているシートにを開いた状態でシート3を印刷したいのです。 印刷アイコンというか…ボタンというか… 「ここをぽちっとクリックしたら、網掛けの入っていない表を印刷できるようにしたいのです。 ぜひぜひ、お力を貸してください。

  • 選択したデータだけ印刷するには?

    例えばシート1のB列に顧客番号・C列に住所・D列に氏名のデータが入っていて、選択した顧客番号のデータのみを、タッグシールに印刷したいのです。 印刷したいデータの選択は、A列に顧客番号の横にチェックを直接入力します。 タッグシールはA4に10枚あります。 初心者で、本を読んでみたりしたのですが、どうしても分かりません。 具体的に教えていただくと助かります。よろしくおねがいします。

  • エクセルでシート1のセルに入力すると別シートのセルに表示させるには

    依頼されて会員証をエクセル2003で作っている最中です。 SHEET1に下記の様に会員証のベースを作ました。 [●●●の会] 会員番号 [SHEET2の会員番号列] 住所 [SHEET2の住所列] 氏名 [SHEET2の氏名列] 電話番号 [SHEET2の電話番号列] [管理社名] SHEET2にまだ空欄ですが、会員番号・住所・氏名・電話番号のリスト表を作りました。 ここからが課題でして、SHEET2に会員番号、住所とセルに打ち込んでいくと SHEET1のそれぞれに対応したセルに表示させる為に SHEET1のセルに、[=Sheet2!A3]と打ち込めば、 SHEET2のA3のセルが対応されますが、 これではそのセルしか対応しません。 SHEET2の1行目に会員番号、住所から打ち込んだものは、 単純にSHEET1の表示させたいセルに[=SHEET2!○○]を打ち込めば、 それが対応されます。 ただSHEET2の2行目は空白ですので、新たに打ち込んで対応させようとしても出来ません。 毎度毎度SHEET1の表示させたセルに[=SHEET2!○○]をしていくのは大変です。 新規にリストを打ち込むたびにSHEET1の会員証に 表示させる方法はどういったものがあげられるのでしょうか? 或いは、SHEET1の会員証ベースに打ち込んでいくとSHEET2のリストに 自動的に登録される仕組みの方がやりやすいのでしょうか? 数式も教えていただければ大変有難いです。 アクセスの方がやりやすいかもしれませんが、 依頼した方のPCにはアクセスは入っていないですし、 私自身もアクセスはイマイチの部分があります。 エクセルのマクロなるものを使えません。 年始早々に使用したいとの事ですので、 なんとか仕上げてあげたいとは思います。 宜しくお願い致します。

  • 行とセルの色分けを複数できる関数を教えてください

    Excelで、行及びセルを決まった色に分ける関数を教えてください。たとえば、1行目のセルにAさん、2行目にBさん、という先生の氏名を入力すると、セルだけでなくその人の担当する行(生徒の氏名、電話番号、住所が記載されている行)も特定の色になる変化する関数です。3人なら条件付きの方法で色分けできるのですが、10人、20人となると入力の限界があるのでできないのです。よろしくお願いします。

専門家に質問してみよう