>Excelの表の一部をラベルシートに抜き出して印刷したいのですがうまくできません。
できたら、どこがうまくいかないのか具体的に書いて欲しいんですけど。
#もしかして、1から10あったら、それ全部?
>「宛名書きソフト」のように細かな印刷設定
これがどれほどの細かな設定を言っているのかわかりませんが、
データが規則正しくずらっと並んだ表からデータを取ってきて、
印刷フォーマットに整形するだけなら、VBAなど使わずとも
INDEX関数でできますよ。
文字だけで説明するのはとっても難しいんですけど、
たとえば、住所録みたいな表から、郵便番号、住所、氏名などを
印刷するとして、簡単に説明すると...
1.住所録シートのA、B、Cの各列に、郵便番号、住所、氏名が
ずら〜っと入力されているとします。
(各項目のラベルは無いものとして説明します)
2.ラベルシート中の印刷範囲外にページ番号を入力するセルを用意。 (以下、ページ番号)
3.入力されたページ番号から、ラベルシートの1つ目に印刷される
住所録データの行番号を求めます。
例えばラベルシート1ページ当たり3枚印刷するなら、
=(ページ番号 - 1) * 3 + 1 で求まります。(以下、行番号)
(場所はどこでも。見栄えが悪いなら、非表示にしちゃうとか)
4.印刷する項目をINDEX関数で取り出します。
印刷する位置のセルに、以下の計算式を入力します。
【ラベル1個目】
=INDEX(住所録!A:A, 行番号) <==郵便番号を取ってくる。
=INDEX(住所録!B:B, 行番号) <==住所を取ってくる。
=INDEX(住所録!C:C, 行番号) <==氏名を取ってくる。
【ラベル2個目】
=INDEX(住所録!A:A, 行番号+1)
=INDEX(住所録!B:B, 行番号+1)
=INDEX(住所録!C:C, 行番号+1)
【ラベル3個目】
=INDEX(住所録!A:A, 行番号+2)
=INDEX(住所録!B:B, 行番号+2)
=INDEX(住所録!C:C, 行番号+2)
こんな感じで作れば、ページ番号を入力するだけで、
印刷フォーマットのデータが次々切り替わるようになります。
#って、わかりにくい説明を長々と書いたけど、
#やりたいことは、こんなので良かったのでしょうか?
|