Home > Excel VBA Macro フロー制御 > FAQ

繰り返し処理で名刺みたいなものを作るには?

Question 29.2 Previous Next
はじめまして。 自分は神奈川に住む学生ですが、Excelに関して質問させてください。
Vlookupに関する質問なんですが、住所録を例にとって説明します。

エクセルワークシート上に住所録のリストがあります。 その表(データベース)から一人ずつの情報をある表に呼び込み、それを一枚ずつ印刷したいのです。つまり、全員のリストから一人ずつの名刺みたいなものを作りたいのです。
この場合、一人ずつの情報をある表に呼び込むのには、VLOOKUPを使って 簡単に表示することはできるようになりました。
しかし、ここからが問題でこの出てきた情報(名刺)を一人ずつ印刷するためには

検索数値の入力(1番目)
   ↓
  印刷
   ↓
検索数値の入力(2番目)
   ↓
  印刷
   ↓
検索数値の入力(3番目)
   ↓
  ・・・・
と、この繰り返しになってしまうのです。
「これはあまりにめんどくさいっ!!」というわけで、いろいろ考えてはみるものの、 この状態を打破するために「順番に入力数値を自動的に換えて、印刷していく」という方法が見つかりません。
もしご存知でしたら教えてください。よろしくお願いします。
Answer   Copyright (C) 2000.7.19 永井善王
繰り返し処理のマクロの書き方を知りたいのでしょうか。
学生さんからのご質問で、きっと勉学に励んでおられることでしょうから、わかり易くご説明したい気持ちはあるのですが、私は只今、執筆中で締め切りがせまって来ています。申し訳ありませんが、すでに掲載済みのページを参考にして、お考えいただけませんか。お願いします。
講義
繰り返し処理については、この「すぐに役立つエクセルVBAマクロ集」のあちこちに掲載しています。ただ、あなたのニーズにぴったりのサンプルはないかも知れませんが、For...Next で繰り返す方法と、あなたが言われる「入力数値」にあたる値、つまり、連番であるならば最初と最後の値をマクロに組み込んでしまうか、変数で与えるかを工夫すれば解決するのではないでしょうか。

FAQの「フロー制御」MacroのContentsの「その他」 に繰り返し処理について掲載しているインデックスがあります。
そこに掲載されているタイトルの中で
繰り返し処理で全員の個票を印刷するには と、
進行状況を表示する のマクロで使っている For...Next を参考にしてみてください。
もしも、「入力数値」を変数で与える方法がわからなければ、この「すぐに役立つエクセルVBAマクロ集」には、いっぱい類似例が掲載されていますので、いろいろ見て研究してください。一例としては、FAQに
印刷の開始ページ・終了ページを変数で指定するには? 」 があります。

 

Excel VBA Macro

Excel DownLoad