- ベストアンサー
vlookupのコード番号を自動的に変えながら印刷するには?
vlookupのコードを変えると他の部分がいろいろと変わるシートを作ってもらったのですが、コード番号が200以上あって、全部印刷するのに、一度ずつコード番号を入れては印刷・・・ということを繰り返すしかないのかなと思いつつ、もしかしたらもう少し簡単な方法があるのではないかと思い、質問しています。理想としては1枚目から200枚目まで自動的に印刷できれば最高です。以前質問した時、回答をいただけなかったので、できなければ無理という回答でも頂きたいと思っています。よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>番号を入れるのは一カ所です ですから、その「一カ所」というのは何処ですか... と、何度も質問してるのですが(;_;) とりあえず、見切り発車します 番号を入れるセルは、No1の補足から「B3」と推定します 違う場合は、cb = "B3" を、変えてください ------------------------------------ Sub 印刷() bango = 1 owari = 200 cb = "B3" Do While bango <= owari Range(cb).Value = Right("00" & bango, 3) ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True bango = bango + 1 Loop End Sub ------------------------------------- 「bango = 1」が最初の番号 「owari = 200」最後の番号です 途中から始めたい、途中まで印刷したい、という場合は、この数字を変えます 最初から200でやると、うまくいかなかった場合、紙の無駄になりますので 最初は、3~5位でやってみてください マクロ(VBA)の登録方法 入力のシートを表示している状態で 「Alt」+「F11}キーを押します そうするとVBAの画面が出ます そこで、「挿入」「標準モジュール」とし、上記のコードをコピーして貼り付けます 後は、シートに戻り、「ツール」「マクロ」「マクロ」とすると「印刷」が有りますので、それを「実行」で、印刷されます 内容を変更したい時は、「編集」で出来ます
その他の回答 (5)
- cistronezk
- ベストアンサー率38% (120/309)
回答2です。 >複数のシートということは私の浅はかな頭で考えつくのはシートを200枚コピーして番号を001~200までそれぞれ変えて・・・ということでしょうか? そのとおりです。そうしておいて印刷するときに「印刷対象」を「ブック全体」にすればよろしいかと思いました。それが急ぎの場合の現実的な対応と思いました。数時間で終わるでしょうから。しかしそれほど急ぎでもないなら、状況を具体的に説明してマクロの回答をもらったほうがいいでしょう。
お礼
ありがとうございました。私にもできそうな回答だったので助かります。希望の光が見えてきました。
- ASIMOV
- ベストアンサー率41% (982/2351)
>番号はセルBの列に入れることになってます 一か所ではないという事でしょうか? どのセルにどんな値を入れるのか、具体的に書いてください
補足
番号を入れるのは一カ所です。それによって氏名など10カ所が変わるようになっています。数式はほとんど一緒で一番最後の数字「3」だけが他の数字に変わるようです。何度もお答え頂きありがとうございます。
- ASIMOV
- ベストアンサー率41% (982/2351)
補足して頂いたのですが、まだ解らないことが.. >=VLOOKUP($B$3,マスタ!$B$2:$J$200,3) >「マスタ」という名前のシートの番号を001~200などと変えていくと と、有りますが、「マスタ」がシートの名前だと言うのは判りますが 番号の001~200というのはどれの事でしょうか セルB3 に入れると言う事ですか?
補足
補足見て頂いてありがとうございます。番号はセルBの列に入れることになってます。200人分の情報を印刷したいのですが、どうすれば良いでしょうか?
- cistronezk
- ベストアンサー率38% (120/309)
マクロで可能ではありますが、「作ってもらった」ということは、質問者さんはおそらくVLookup自体を使いこなせていないのでしょう。ましてマクロは無理と推察します。 作ってもらったシートを200枚コピー(複数のシートを選択してコピーすればたいした回数ではありません)して、コードを書き換え、一気に印刷する、というのが時間的には一番早そうです。
補足
お察しの通り、全くつかいこなせていません。複数のシートということは私の浅はかな頭で考えつくのはシートを200枚コピーして番号を001~200までそれぞれ変えて・・・ということでしょうか?もし違っていたらお知らせ下さい。
- ASIMOV
- ベストアンサー率41% (982/2351)
>vlookupのコードを変えると コードと言うのが、何の事か判りません 具体的な関数式を書いて、その式のどこをどう変えたいのか、書いてください
補足
説明不足ですみません。「マスタ」という名前のシートの番号を001~200などと変えていくと、その行の項目が別のシート上に反映されて、何カ所か変わっていくようになっていて、その中の一つの数式が「=VLOOKUP($B$3,マスタ!$B$2:$J$200,3)」です。数字を変えた方のシート(この数式がある方のシート)を印刷したいと思っています。おわかりいただけたでしょうか?
お礼
できましたー!!感激です。まさに理想的な感じで印刷できたので良かったです。質問して良かったです。私にとっては神業です。ちんぷんかんぷんな質問に丁寧にお答え頂き本当にありがとうございました。感謝感謝です。