得点記入用紙
- 2008/08/13 23:20
- カテゴリー:大会支援(ドッチボール)
得点記入用紙の作成に取り掛かります。
この得点記入用紙も対戦表と同じで、以前から手書き用の書式がありますので、コート番号や試合番号、対戦チーム名を処理しやすいように変更していきます。
それと、今回あたらしく勝敗の項目を付けさせてもらいました。
これは、今回のドッヂボール大会のローカルルールで、対戦するチーム同士は、同じ人数で始めなくてもいいことになっています。(監督同士の話し合いによります)
そうなった場合に、人数だけでは勝敗が判らないことがあるためです。
今回は、この得点記入用紙へVBAで入力、印刷を行うので関数は入りません。
さて、出来上がった得点記入用紙の印刷範囲を設定して、完成・・・ではありません。
対戦表からチーム名やコート番号を持ってきて、VBAで印刷を行うようにします。
ただ、今後変更などを行う可能性もありますので、出来る限りエクセルのシートで変更を出来るようにします。
対戦表の試合順からチーム名を引いてくるために、ブロック対戦パターンを作ります。
これは、ブロック内の何番目のチーム同士が対戦するかを書いたものです。
詳しい方ならこの順番が変なのはすぐに判ると思いますが、もう既に決定してしまってあり変更が出来ないらしいので、このままで行きます。
次に、印刷用のデータシートを作ります。
手動入力項目は、学年・ブロック番号・試合番号となります。
以下の項目は上記の項目により演算で求めます。
対戦1・2
対戦するチームの番号をブロック対戦パターンから試合番号にて算出します。
=IF(H3<>"",OFFSET($B$20,H3-1,0,1,1),"")
=IF(H3<>"",OFFSET($B$20,H3-1,1,1,1),"")
学年
ブロック番号から、対戦表の学年を引いてきます。
=IF(F3<>"",OFFSET(対戦表!$A$2,F3*14-1,G3*8,1,1),"")
ブロック・場所
これも学年とほぼ同じです。
=IF(F3<>"",OFFSET(対戦表!$A$2,F3*14,G3*8,1,1),"")
試合番号
試合番号を印刷用に書き直したものです。
=IF(H3<>"","第"&H3&"試合","")
チーム名
ブロック番号と対戦により、チーム名を引いてきます。
=IF(I3<>"",OFFSET(対戦表!$A$2,F3*14,G3*8+I3,1,1)&CHAR(10)&OFFSET(対戦表!$A$2,F3*14+1,G3*8+I3,1,1)&OFFSET(対戦表!$A$2,F3*14+2,G3*8+I3,1,1),"")
=IF(I3<>"",OFFSET(対戦表!$A$2,F3*14,G3*8+J3,1,1)&CHAR(10)&OFFSET(対戦表!$A$2,F3*14+1,G3*8+J3,1,1)&OFFSET(対戦表!$A$2,F3*14+2,G3*8+J3,1,1),"")
シート計算
これは、データを入力する列・行のセル番号を算出します。
列
=IF(F3<>"",F3*14+I3*2+3,"")
=IF(F3<>"",F3*14+J3*2+3,"")
行
=IF(F3<>"",G3*8+J3+1,"")
=IF(F3<>"",G3*8+I3+1,"")
あとは、作った1行をコピーしていき、学年・ブロック番号・試合番号を入力していきます。
次回も得点記入用紙です、VBAの説明を行います。