水泳大会の出場者個票の作成方法
- 水泳大会の出場者個票をエクセルで作成する方法について教えてください。
- A4用紙に3コース分の出場者個票を印刷し、2枚使用して6コース分を記入します。
- レース番号をA4用紙2枚ごとに1ずつ加算させる方法を教えてください。
- ベストアンサー
レース数が100以上ある水泳大会の出場者個票を
レース数が100以上ある水泳大会の出場者個票を エクセルで作成しています。 1レースを6コースで行うため A4用紙1枚につき3コース分、A4用紙2枚で6コース分の個票を 印刷します。 個票に記載する内容は レース番号・種目名・コース番号・出場者氏名・タイム記入欄 などです。 印刷するときに A4用紙2枚(=1レース・6コース分)ごとにレース番号を 1、2、3…と1ずつ加算させたいのですが、その方法がわかりません。 使用しているOSはWindowsXP、エクセルは2003です。 VBA・マクロを使わない方法があればそれを教えていただきたい のですが、 それが無理でしたらVBA・マクロに拠る方法をご教示ください。 何卒宜しくお願い致します。
- goonicando
- お礼率65% (36/55)
- その他MS Office製品
- 回答数4
- ありがとう数4
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
印刷の制御は どうしてもVBAに頼ることになりますが、 VBAで良かったら、No.1さんの回答とほぼ同じですが、VBAに慣れて おられないようですので、ほぼ実用に近いものを提案させて頂きました。 票のイメージとしては、図の左側のようなイメージなんでしょうか? 図の右側は、レース番号を入力するイメージをVBAのコードの中のセルに 合わせて、例示してみました、ボタンは、このマクロを登録して、起動させる ためのボタンがあったがいいかなと思って例示してます。 先の補足にVLOOKUP等の処理がされてるとのことですが、その参照のキーに なるのは、レース番号でしょうか? それ以外の キーになるものがあれば、VBAの中で処理を記述する必要があると 思います。VLOOKUPとVBAの処理とのタイミングも、心配ですが、ま、うまく 行くとおもいます^^ 下記のVBAのコードは、この票があるシートのシートタブを右クリックして、 「コードの表示(V)」を選択して、出てきた大きな枠のOption Explicitの下に 貼りつけて、実際に応じたシート名、セル番号などを修正すれば、 そのまま、動作するはずです。 起動ボタンは、オートシェイプで作るか、メニューバーの「表示」→「ツールバー」 →「フォーム」の「ボタン」で作ってもいいでしょう、Webサイトからカッコイイのを 貰って来てもいいでしょう、それを右クリックして「マクロの登録」から、この マクロ「個票印刷」を選択してください。 VBAコード中の「'」以降はコメントで、動作に関係しません、不要なら消してください。 Sub 個票印刷() Dim N As Integer, N1 As Integer, N2 As Integer On Error GoTo 不正 'エラー(N1,N2に数字以外とか)の時「不正:」へ飛ぶ With Worksheets("Sheet1") '実際のシート名を N1 = .Range("X2").Value 'レース番号の開始値 N2 = .Range("Z2").Value 'レース番号の終了値 On Error GoTo 0 If N1 = 0 Or N2 = 0 Or N1 > N2 Then GoTo 不正 'どちらか0かN1が大きかったら印刷しない。 For N = N1 To N2 .Range("D5, D26, D55, AM5, AM26, AM55").Value = N '実際のレース番号のセルを ' ・ ' ・ ' ・ '------ 上記以外の 氏名や 種目 その他を記入する処理 ----- ' ・ ' ・ .PrintOut Next End With Exit Sub 不正: MsgBox "入力された数値が不正です。", vbExclamation End Sub
その他の回答 (3)
- hallo-2007
- ベストアンサー率41% (888/2115)
印刷してE5セルの値をひとつ増やすだけなら Sub 印刷() Sheets("印刷するシート").PrintOut '←ここを印刷したいシートを指定する。 Sheets("印刷するシート").Range("E5").Value=Sheets(”印刷するシート").Range("E5").Value+1 End Sub となります。 でもせっかくであれば 別シートに レース番号 競技名 1レーン 2レーン 3レーン・・・ 1 個人メドレー A選手 B選手 C選手 ・・・ ・・・・ と準備しておいて E5セルに レース番号を入れると 選手名など必要内容が表示されるように Vlookup関数を張り巡らせておけばもっと作業が楽になり、管理が出来ると思います。
お礼
ご丁寧な説明、感謝しております。 早速VBAの基礎を勉強したうえでご教示いただいた方法を 実行してみたいと思います。 この度はたいへんお世話になり、本当にありがとうございました。
- hallo-2007
- ベストアンサー率41% (888/2115)
No1です。 Sheets("印刷するシート").Range("E5").Value=Sheets(”印刷するシート").Range("E5").Value+1 の部分ですが Sheets("印刷するシート").Range("E5").Value=n にしたほうが使いやすいかもしれません。 実験で何度も無駄な印刷するので、最初は Sheets("印刷するシート").PrintOut '←ここを印刷したいシートを指定する。 の部分を Sheets("印刷するシート").PrintPreview '←ここを印刷したいシートを指定する。 としてプレビュー画面で確認しながらコードを作成してみると良いでしょう ご希望にあうようになったら PrintOut に変更してください。
お礼
早速ご回答いただきありがとうございました。 ところで、個票を作成する手順として下記の1~3を繰り返します。 1、個票ごとに出場者氏名を入力(VLOOKUP関数を使用)&組数を入力(都度手入力) ↓ 2、1レース(6コース・A4用紙2枚)分入力後に印刷 ↓ 3、数レース~十数レースごとに種目名を変更する 100レース分の個票を一括して印刷するわけではないのですが ご教示いただいた方法は入力と印刷を交互に繰り返す上記の手順でも 利用可能なのでしょうか? 当初の説明が不足しておりまして、申しわけありません。
- hallo-2007
- ベストアンサー率41% (888/2115)
印刷を行って E5セルの値を 1つ加算する と云ったことですよね VBAの力を借りることになります。 ちなみに少し前の質問 通知表連続印刷の方法 に良い事例がありました。 http://okwave.jp/qa/q6208722.html Sub 通知表印刷() Dim n As Integer Dim a As Integer Dim b As Integer a = Range("f2").Value b = Range("H2").Value For n = a To b Sheets("印刷するシート").PrintOut '←ここを印刷したいシートを指定する。 Sheets("印刷するシート").Range("E5").Value=Sheets(”印刷するシート").Range("E5").Value+1 '↑ここで印刷するシートのE5セルの値を 1つ加算する。 Next n End Sub こんな具合でvbaを考えると 1レースから100レースまで一気に印刷していく 1枚印刷されるたびに レース番号は 1つづつ加算された印刷になるはずです。
関連するQ&A
- エクセルで変数が2つある連続印刷
VBA初心者です。困っていますのでよろしくお願いします。 エクセルでVBAを使って,個人の成績個票を連続印刷する方法について教えてください。 一枚の用紙に,上半分は1組の生徒の個票を,下半分には2組の生徒の個票を連続的に印刷します。 「個票sheetセルE3」には1組の生徒番号を,「個票sheetセルE27」には2組の生徒番号を連続的に流し込み,VLOOKUP関数によって別sheetにある成績データを読み込んでいきます。 仮に2枚(1枚は「1組の1番の生徒(101)+2組の1番の生徒(201)」の個票,もう一枚は「1組の2番の生徒(102)+2組の2番の生徒(202)」の個票)を印刷するコードはどうすれば良いのでしょうか。 下のようなコードでは組み合わせ可能な4枚の個票が印刷されてしまいました。 VBAの専門家の方,ご助言いただければ幸いです。 Sub 一組二組印刷() '個票を印刷するマクロです Dim 番号一組 As Integer For 番号一組 = 101 To 102 Sheets("個票").Range("E3").Value = 番号一組 Sheets("個票").PrintOut Next 番号一組 Dim 番号二組 As Integer For 番号二組 = 201 To 202 Sheets("個票").Range("E27").Value = 番号二組 Sheets("個票").PrintOut Next 番号二組 End Sub
- ベストアンサー
- Visual Basic
- ワードでなくエクセルで雛型を作り、差込印刷したい。
こんにちは。よろしくお願いします。 エクセルで、シート1に数十件の名簿を作ります。一人1行で、氏名、住所、管理番号、その他、を各別に記載します。 シート2に印刷してファイリングできるよう、A4の一人1枚の個票の雛型を作ります。(1つ)この個票には、シート1の氏名、住所等がそのまま、反映されるようにします。 全員分またはシート1の範囲指定分の個票を印刷するには、どのような機能を使うのでしょうか? ワードの差込印刷のような印刷方法が理想です。 詳しい手順は結構ですので、大まかに教えてください。
- ベストアンサー
- オフィス系ソフト
- 算数の問題…GWの宿題のようです。。
たびたびすみません。また子どもの算数の問題が出ました。。 教えられず困っております。教えて頂ければ幸いです。 A君は水泳・自転車・マラソンの3種目の競技に出場しました。 前種目トータルの距離は、13.2Kmです。 0.2kmの水泳コースを4分で泳ぎ、 自転車は、毎時15km マラソンは、毎時10kmの速さでした。 全ての競技を終了するのにちょうど1hでした。 自転車コースと、マラソンコースは其々何キロだったでしょうか? という問題のようです。
- 締切済み
- 数学・算数
- 10日後のレースにDHバーを装着して出場できますか
10日後のレースにDHバーを装着して出場できますか? 8月25日に珠洲トライアスロンAタイプ(127キロ)に出場します。 普通のロードレーサーで出場するつもりだったのですが、制限時間が心配になり、DHバーを装着しようか迷っています。 レースまで日がないので、仮にDHバーをつけたとしても3~4回くらいしか練習する機会はありません。 あと10日あまりでDHバーを装着するのは危険でしょうか? ちなみに昨年は珠洲のBタイプ(62キロ)に出場し、3時間54分で完走しています。 どなたかご教授いただければありがたいです。 よろしくお願いいたします。
- 締切済み
- 自転車・マウンテンバイク
- エクセルで簡単なマクロを組んだのですが…。
連続印刷を行う簡単なマクロを組んだのですが、指定行を変更しても1行目からまた印刷されてしまうのですがどうしてでしょうか?ちなみにこんなマクロです。 'リストを1行1枚の伝票形式で印刷するマクロ Sub 個票発行() Worksheets("個票").Activate Dim 個票カウンタ As Integer For 個票カウンタ = 1 To _ Application.WorksheetFunction.CountA(Worksheets("一覧表").Range("A1:A88")) Range("B1") = 個票カウンタ 印刷 Next 個票カウンタ End Sub よろしくお願いいたします。マクロ初心者です。
- ベストアンサー
- オフィス系ソフト
- 一覧表から特定の行のみを選択して印刷するマクロですが、もう一歩のところで悩んでいます。
'リストを1行1枚の伝票形式で印刷するマクロ Sub 個票発行() Worksheets("個票").Activate Dim 個票カウンタ As Integer For 個票カウンタ = 1 To _ Application.WorksheetFunction.CountA(Worksheets("一覧表").Range("A1:A88")) Range("B1") = 個票カウンタ 印刷 Next 個票カウンタ End Sub これだとA1からA88まですべて印刷してしまうのですが特定のセルに★印のある行のみ選択後印刷したければどういうマクロを組みいれればいいですか?お教えください。
- ベストアンサー
- オフィス系ソフト
- ワードでの通し番号印刷
社内イベントでの、景品引き換え券を400枚作ろうとしています。 A4用紙に、4枚分か、9枚分印刷して、裁断しようと考えています。 これに1~400の通し番号を付けたいのですが何か良い方法がありますか? A4用紙1枚あたり番号1つではなく、A4用紙1枚あたり、4つか9つの通し番号を付ける、という点で困っています。 使えるソフトは、ワード、エクセル、パワーポイントです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 連続印刷の簡単なマクロを組みました。どなたかお助け下さい。
以下のようなマクロを組みました。(マクロ初心者です)下記にでてきます一覧表・個票の作成や下記に続いて入力済みの印刷のマクロには問題ないとは思いますが以下のマクロが全く動きかけしないのですが何か原因は考えられますか?今日一日中考え込んでいました。最初は、コンパイルエラーで変数の定義ができてないとの表示が出ましたので1文、付け加えたのですが全く実行されません。 'リストを1行1枚の伝票形式で印刷するマクロ Sub 個票発行() Worksheets("個票").Activate Dim 個票カウンタ As Integer For 個票カウンタ = 1 To _ Application.WorksheetFunction.Count(Worksheets("一覧表").Range("A1:A88")) Range("B1") = 個票カウンタ 印刷 Next 個票カウンタ End Sub よろしくお願い致します。 最近サーバ負荷の表示と共になかなかマイページにつながりませんので御礼の返事が遅れました折にはお許し下さいませ。
- ベストアンサー
- オフィス系ソフト
- 水泳部最後の大会にどうしても出たい
こんばんは。 僕は今高3で水泳部に所属しています。 あと約2ヶ月後に最後の大会があるのですが、僕はまだその大会に出れるタイムを切れていません。 種目は100m自由形で、自己ベストが1分7秒79で、あと3秒ほど縮めなければなりません。 僕はいつも後半になるとスタミナが切れますし、前半のタイム自体も31秒とかなり遅いです。 大会に出れずに部活を引退というのは絶対に嫌なんですが、なかなかタイムがのびません… そこで質問というか相談なんですが、タイムを伸ばすためにはどうすればいいのでしょうか?まずは前半を30秒切りたいと思っています。 練習の方法や体のケアやいいサイトなどなんでもいいので教えてください。やれと言われれば歯を食いしばってでもやります!!!なので、ご回答よろしくお願いします!!!
- 締切済み
- マリンスポーツ
- 48歳女性 平泳ぎ200Mのレース出場準備
いつもお世話になります。 タイトル通り、10月末に平泳ぎ200Mのレースに出ます。 水泳歴は小学校の時に習っており、その後45歳から再度練習を開始した程度のレベルです。 自己ベストは、平泳ぎ50mが54秒、100mが1分57秒です。 この度初めて、200M泳ぐのですが、どのようなレース展開(?)で泳ぎ始めてよいのかも分かりません。最初から飛ばすべきか??それとも、最初は80%ぐらいで泳いで最後まで力をとっておくべきか?などです。 コーチにも聞いたのですが、「自分もよく分からない。」と言われました・・。(海外在住で、水泳は盛んな国ではないためか、のんびりとしたお国柄か、コーチから的確なアドバイスはあまり期待できません。) またあと数週間でよいタイムを出せる練習方法など何でもよいのでアドバイス頂けると幸いです。 希望としては、200Mで3分56秒を出したいのですが、無謀でしょうか??このタイムを出すと、今いるグループより1つ上のグループで練習ができるようなります。 どうぞよろしくお願い致します。
- 締切済み
- 水泳
お礼
画像まで添付していただき、ありがとうございました! 仔細な部分まで分り易く説明されていて大変参考になりました。 ご教示いただいた方法をこれから試してみたいと思っています。 この度は、本当にありがとうございました。