- 締切済み
続テニス(ダブルス)乱数表
05/5/15にて、質問番号1388951でbun0212さんから質問、rio_dさん回答のマクロによる表作成について、極めて実用的であり、感服し作成を試みました。このことについて、以下の点につきご教示願います。 1)保存したものを開いて条件変更(面数、人数)してみましたが、セキュリティーを変更しても実行できません。どうすればよろしいのでしょうか。 2)人数ごとに一定回数内に同回数のプレイができるような条件をつけ加えることは、どうしたらできるのでしょうか。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- テニスダブルス組合せ
こんにちは。草テニス愛好者です。 テニス乱数表の件でbun0212さんの質問があり、rio_dさんの回答が大変参考になりました。少し希望があります。(1)各々の人数組合せに共通しますが、最初の一巡では[1][2]:[3][4]、[5][6]:[7][8]・・・と若い順番からの組合せとなること(ご回答の参考例にある9人の場合のように)。(2)参考の9人の場合そうなっていますが、各メンバーのペア(パートナー)は必ず自分以外の全員と組めるようにすること。の2点ですが、何とかなりますでしょうか。よろしくお願いします。
- 締切済み
- テニス
- テニス(ダブルス)乱数表 Excelマクロ
テニス等のダブルスゲームのペアを決めるための乱数表を作りたいと思い、Web検索したところrio_dさんが作成されたExcelマクロプログラムを見つけました(http://oshiete1.goo.ne.jp/kotaeru.php3?q=1388951)。記載されている通りにマクロを作成しましたが、実行すると「SubまたはFunctionが定義されていません」というコンパイルエラーメッセージが出てしまいます。rio_dさんのマクロプログラムの最初に「Sub 乱数表作成()」がありますが、この( )の中に何かを入力する必要があるのでしょうか。この他にも空白の( )がいくつかあります。マクロについて全くの素人で何も分かりません。このrio_dさんのマクロプログラムを実行する方法を素人にも分かるように解説していただければ幸いです。 【rio_dさんが書かれたマクロは以下の通りです】 <マクロ準備編> (1)新規ブックを開き、とりあえず名前をつけて保存します。『てにす乱数表.xls』にしましょうか。 (2)メニューバーから、ツール→マクロ→Visual Basic Editorを選択します。 Visual Basic Editorが起動します。 (3)左側に「VBAProject(てにす乱数表).xls」というのがあると思います。 ツリー状になっていて、左の[+]で展開していくと、「ThisWorkbook」という ものが表示されると思います。 (4)その「ThisWorkbook」をダブルクリックします。 右側に「~~.xls - Thisworkbook(コード)」というウインドウが表示されます。 (5)そこに、下記のコードをコピー&ペーストしてください。 (6)Visual Basic Editorを閉じます。 (7)ここで一旦上書き保存しておきましょう。 <データ準備編> (1)セルA1に、コート数を入力してください。数字でお願いします。 (2)セルB1から横方向に、人数を入れていってください。 (3)セルA2から縦方向に、試合数を入れていってください。 こんなかんじ _A__B_C_D__E__F__G__H__I__J__K 1| 3 5 6 7 8 9 10 11 12 13 14… 2| 1 3| 2 4| 3 5| 4 6| 5 7| 6 : <データ作成編> (1)メニューバーから、ツール→マクロ→マクロ と選択してください。 (2)実行するマクロの一覧に「ThisWorkbook.乱数表作成」というのがでるので、 それを選択して「実行」してください。 (3)砂時計が消えたら完成です。 このマクロは実行するたびに結果が変わります。気に入らなかったら何度でも やり直してください。 また、全セルを消去すれば、データ準備からやり直すことも出来ます。 好きな表をいくつでも作ってください。 ちなみに100人とかデータ数がえらく膨大になると、なかなか計算が終わりませんので。 その場合は気長に待ってください。 '-----マクロ ここから----- Sub 乱数表作成() Dim iRow As Integer Dim iCol As Integer Dim iCnt As Integer Dim iCnt2 As Integer Dim iTmp As Integer Dim sNum() As String Dim bChk() As Boolean Dim bChk2() As Boolean Dim bFull As Boolean Dim iCourt As Integer iCol = 2 Do Until Cells(1, iCol) = "" iRow = 2 If Cells(1, 1) * 4 > Cells(1, iCol) Then iCourt = Round(Cells(1, iCol) / 4 - 0.5, 0) Else iCourt = Cells(1, 1) End If ReDim sNum(iCourt * 4 - 1) ReDim bChk(Cells(1, iCol)) ReDim bChk2(Cells(1, iCol)) For iCnt = 1 To Cells(1, iCol) bChk(iCnt) = True bChk2(iCnt) = True Next iCnt Do Until Cells(iRow, 1) = "" iCnt = 0 Do Until iCnt = iCourt * 4 iTmp = Round(Rnd(Second(Now)) * Cells(1, iCol) + 0.5, 0) If bChk(iTmp) And bChk2(iTmp) Then sNum(iCnt) = "[" & Trim(Str(iTmp)) & "]" iCnt = iCnt + 1 bChk(iTmp) = False bChk2(iTmp) = False bFull = False For iCnt2 = 1 To Cells(1, iCol) bFull = bFull Or bChk(iCnt2) Next iCnt2 If bFull = False Then For iCnt2 = 1 To Cells(1, iCol) bChk(iCnt2) = True Next iCnt2 End If End If Loop Cells(iRow, iCol) = sNum(0) For iCnt = 1 To iCourt * 4 - 1 Select Case iCnt Mod 4 Case 0 Cells(iRow, iCol) = Cells(iRow, iCol) & Chr(10) & sNum(iCnt) Case 2 Cells(iRow, iCol) = Cells(iRow, iCol) & ":" & sNum(iCnt) Case Else Cells(iRow, iCol) = Cells(iRow, iCol) & sNum(iCnt) End Select Next iCnt For iCnt = 1 To Cells(1, iCol) bChk2(iCnt) = True Next iCnt iRow = iRow + 1 Loop iCol = iCol + 1 Loop End Sub '-----マクロ ここまで-----
- ベストアンサー
- オフィス系ソフト
- テニス大会ダブルスの乱数表の作成をお願いしたい
テニス大会開催のため、プレーヤーの組み合わせに乱数表を使うことになり、過去の質問・回答を検索しテニス乱数表の作成法を2件見つけたのですが、1件は同じプレーヤーの組み合わせ(ペア)が複数組できてしまい、もう1件は一人当たりのゲーム数が同数にならない(一定の試合数で、ある人は2ゲーム、ある人は5ゲームなどバラつきが出る)ことがわかりました。 そこで以下の条件で乱数表の作成をお願いしたいのですが。 1.1日で完了するダブルスのテニス大会 2.参加者(プレーヤー)は、10-30人程度 3.コートは2面を並行使用の予定なので、一人が同時に2面に入らない 4.全員が一人あたり4ゲーム行う 5.全員が4ゲームともそれぞれ別の人とペアを組む(同じペアを複数回作らない) 6.対戦相手はそれ以前のゲームと同じ人でも構わない(5.があるので同じペアとの再戦はない) よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 4人1組 乱数表
パーティーで4人1組でやるゲームを7回戦やるのですが(人数によって抜け番あり)、なるべく同じ人と組まないような組み合わせにするにはどのようにすればよいのでしょうか? 検索したらテニスのダブルスの乱数表はたくさん見つかったのですが、過去の質問にでてきたrio_dさんの乱数表(質問番号:1388951)を使ったところ問題が発生してしまいました…。 3回戦目で[1][7]:[6][8]、5回戦目で[16][6]:[7][8]、というのが存在してしまいペアは違っても結局[6][7][8]が2度同じグループになってしまったのです。 パソコン初心者でどのように変更すればよいのか、全く別の方法があるのかなど全然わかりません。できるだけ上手くバラバラに組むようにしたいと思います。よろしくお願いします!
- 締切済み
- オフィス系ソフト
- マクロで複数シートに条件付き書式をかける方法(excel)
以前、同内容の質問をしたのですがお答えいただけなかったので(泣) マクロで複数シートの書式を変更するものを作りたいのですが、罫線やフォントは変更できるのに条件付き書式だけは先頭シートにしか設定されません。1シートづつ設定するマクロを作るしかないのでしょうか?
- ベストアンサー
- オフィス系ソフト
- テニスのダブルスで。。。
高校2年生になったものです。 今いる高校のテニス部に入ってから表彰を一度も受けたことがありません。 せっかく高校での部活動でテニスをやっているからには成績を残したいのですが、今も残せずにいます。あと大好きなテニスが出来るのもあと一年となりました。 このあと一年の間に成績を残したいのですが。。。 ◎ ダブルスのフォーメーションについて良いのあったら教えてください! (雁行陣 平行陣 Iフォーメーションは知ってます) ◎ ダブルスの戦術なども教えてください!!!!!!! ホントに悩んでいます。救いの手を指しだしていただけませんか? ちょっと大げさになりましたがよろしくお願いします。
- ベストアンサー
- テニス
- バドミントン・ミックスダブルス乱数表について
初めまして。タイトルにありますようにミックスダブルスでの乱数表を探しております。いろんなサイトで探してはみたのですが、すべて数字ばかりで。できれば数字とアルファベットが混合になっている組み合わせ表が理想です(泣)2コート使用できるとして人数は10人から20人程度です。ミックスダブルスばかりではなく2試合に一度、男性対男性、女性対女性になるような(>_<)とても難しく私の頭では作成できないです。
- 締切済み
- 数学・算数
お礼
再度にわたりお手数をおかけしました。感謝します。 理屈はわかるのですが、実務が伴わないのです。所詮仲良し倶楽部のゲームですので、実践して評価を仰ぐことにします。 なお、昨年の回答にさかのぼりwendy02さんの方法を 再検討してみることにします。ご協力ありがとうございました。