[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『名簿から名札を作りたい。』(dsk)
イベントで参加者の名簿があって、それを利用して名札を作りたいです。 名簿は以下のようになっています。1000人規模です。 名簿 A B C D E FGHI J 1 空欄 グループ名 名前 空欄 出身地 空欄 参加イベント 2 チームA ○田○男 東京都 ダンス 3 チームB ☓村☓介 大阪府 カラオケ . . .
名札はシート2に、B5用紙4分割で、1行目の人のグループ名はE6 名前はB8 出身地はI10 参加イベントはC13です。2行目の人のグループ名はS6、名前はP8 出身地はW10 参加イベ ントはQ13です。
名札のシートに一行目の人と、二行目の人をリンクさせて、=を#に置換してフィルドラッグ したんですが、グループ名はリンク先が変わってうまく行くのに、名前等が一行目のリンク のままでした。
このように一行の名簿を、バラバラにして名札のシートにリンクさせたものをフィルドラッ グして次々と量産するにはどうしたらよいでしょうか。
< 使用 Excel:Excel2010、使用 OS:unknown >
どうもやりたいことのイメージがつかないのですが、 シート2の現在の式や、5、6人分を反映した際の状態を例示できないでしょうか。
(Mook) 2015/03/11(水) 22:54
すいません。わかりにくかったでしょうか?
名簿
A B C D E FGHI J 1 空欄 グループ名 名前 空欄 出身地 空欄 参加イベント 2 チームA ○田○男 東京都 ダンス 3 チームB ☓村☓介 大阪府 カラオケ 4 チームC ○山☓太 京都府 ダンス 5 チームA △池△雄 埼玉県 カラオケ 6 7
名刺シートはいろいろ結合セルなどがあって複雑なんで横着してました。1枚の紙を4分割(田の字状に 分割)1枚に4名分の名札ができます。
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 | 2 | 3 | 4 | 5 | 6 E6Aチーム | S6Bチーム 7 | 8 B8○田○男 | P8☓村☓介 9 | 10 I10東京都 | W10大阪府 11 | 12 | 13 C13ダンス | Q13カラオケ 14 | 15 | 16 ________________ |____________________________ 17 | 18 | 19 | 20 | 21 | 22 E22Aチーム | S22Bチーム 23 | 24 B24○山☓太 | P24△池△雄 25 | 26 I26京都府 | W26埼玉県 27 | 28 | 29 C29カラオケ | Q29ダンス 30 | 31 | 32 | 33 | 34 |
16、17行目あたりの横線とMN間の横線は切り取り線のつもりです。 これを1ページだけリンクさせて、その後はフィルで枚数を増やして自動でリンクしてれれば助かります。
(dsk) 2015/03/11(水) 23:29
5,6人といったのはこの後どうしたいかを知りたかったのですが、 最終的にシート2のA:Z列に、延々と1000人分が並ぶのでしょうか。
あるいは、印刷が目的であるならば、A1:Z34 の範囲でデータを切り替えながら 印刷するマクロといったような手もあります。
単純に17行ごとで、データが1000人分(8500行?)並べばよいのでしょうか。 (Mook) 2015/03/11(水) 23:33
とりあえずマクロでデータを作成する例です。
1)Alt+F11 で VBE を起動 2)挿入⇒標準モジュール 3)そこに下記をコピー 4)EXCEL に戻って Alt+F8で「印刷シートデータ作成」を選択、OK をクリック
Sub 印刷シートデータ作成() Dim データシート As Worksheet Set データシート = Worksheets("Sheet1")
Dim 印刷シート As Worksheet Set 印刷シート = Worksheets("Sheet2")
Dim 最終行 As Long 最終行 = データシート.Cells(Rows.Count, "B").End(xlUp).Row
Dim 行 As Long Dim 行オフセット As Long Dim 列オフセット As Long For 行 = 2 To 最終行 行オフセット = 16 * Int((行 - 2) / 2) 列オフセット = 14 * (行 Mod 2) 印刷シート.Range("E6").Offset(行オフセット, 列オフセット).Value = データシート.Cells(行, "B").Value 印刷シート.Range("B8").Offset(行オフセット, 列オフセット).Value = データシート.Cells(行, "C").Value 印刷シート.Range("I10").Offset(行オフセット, 列オフセット).Value = データシート.Cells(行, "E").Value 印刷シート.Range("C13").Offset(行オフセット, 列オフセット).Value = データシート.Cells(行, "J").Value Next End Sub
(Mook) 2015/03/11(水) 23:47
返答ありがとうございます。 単純に17行ごとで1000人分並ぶつもりでした。 マクロはやったこと無いのでできるかどうかわかりませんが、お答えをみると、コピーするだけみたいなので、 挑戦してみます。
(dsk) 2015/03/12(木) 12:51
マクロは > 単純に17行ごとで1000人分並ぶつもりでした。 のものです。
差し込み印刷のような印刷マクロはまた別のものになります。 (Mook) 2015/03/12(木) 12:58
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.