• 締切済み

総当たり表のエクセルマクロ

総当たり表のエクセルマクロ エクセルで総当たり表を作るとします。分かりやすくするため,アからオの5人で,BからF列の1行目にアからオ,A列の2から6行目にアからオと入力された総当たり表だとします。 総当たり表の外のセルの2箇所をそれぞれ対戦者入力セルとして,そこに対戦者の名前(ア~オ)を入力すると,自動的に総当たり表に○をつけてくれるマクロを作成したいと思っています。1回の組み合わせで自動的に2箇所に○をつけるマクロです。 そんな面倒なことをしなくても表に直接○をつければいいと思われるかもしれませんが,実は対戦者が膨大なので1回の組み合わせで2箇所に○をつけるのが手間なのです。 それと,対戦者入力セルの1箇所に名前を入力すると,他のセルにまだ対戦していない名前が表示され(リストのような形で)クリックで他の対戦者を入力できるようにしたいと思っています。 エクセルは昔ちょこっとだけVBAをかじったことがある程度で,今は忘れてしまいました。 仕事で急遽依頼されており,困却しております。 心やさしい方,ご教示願います。

みんなの回答

  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

  A B C D E F 1   ア イ ウ エ オ 2 ア * 3 イ   * 4 ウ     * 5 エ       * 6 オ         * こんな対戦表は作るんですよね。 >1回の組み合わせで2箇所に○をつけるのが手間なのです。 という事であれば、対戦表自体、ダブルクリックで1箇所に○をつけたら もう一方にも○がつくようにしたほうが簡単かと。 ・シートModuleのWorksheet_BeforeDoubleClickイベントを使う。 ・IntersectメソッドでダブルクリックしたTargetが  Range("B2").Resize(5, 5)範囲に含まれるかどうか判定する。 含まれている時だけ以下の処理。 ・Cancel = True ・Target.Valueが空白だったら"○"にする。 ・同時にCells(Target.Column, Target.Row)も"○"にする。 やり直すケースもあるなら ・Target.Valueが"○"だったらClearContentsする。 ・同時にCells(Target.Column, Target.Row)もClearContentsする。

関連するQ&A

  • ある操作後に自動的にセルに斜線を入れるには?

    Excelで、管理表、対応表という2つのシートを作成していますが、T列に処理という欄を設けて、ここに入力規制のリストで○か×かを選択するようにしているのですが、ここの処理のある行のセルに○が入ると、その行にあるM列からU列までのセルに斜線もしくは-が、自動的に入るようにしたいのですが、マクロ処理でできますでしょうか?できるのであれば、教えて下さい。

  • 18名で総当たりダブらないカップルをつくるには

    数学の組合せの問題みたいですが、出来なくて困っています。 18人のメンバーがいて、(つまり9組)ダンスをします。 総当たりで、ダブらないで、みんなが全員と組むことができるための 組合せの表の作りかたをどなたかお教えください。 エクセルで横列1~18 縦列1~18 各列各行とも1~18の数字がそろわ ないと駄目ですが、なかなか作れません。 こういう組合せを作るソフトがもしあればお教えください。

  • エクセルマクロで

    お世話になります。 エクセルにて、選択した列のセルに年・月・通し番号(201107001) と入力するにはどういうマクロになるでしょうか? また次の行では201107002となります。 よろしくお願いします。

  • エクセル表にマクロで・・・

    エクセルの表で日にち又は月を入れると自動的に曜日が入力されるマクロを設定したいのですが、可能ですか?マクロ初心者ですが宜しくお願いします。

  •  いつまで経ってもパソコン超初心者でエクセルのマクロのことはまるでわか

     いつまで経ってもパソコン超初心者でエクセルのマクロのことはまるでわかりません。OSはXP3、ソフトはエクセル2000です。3列4行の表と3列3行の表を画像のように結合させるマクロを、ツール→マクロ→新しいマクロの作成→マクロ名&ショートカットキーの欄を埋めてマクロを記録させた所、セルをクリック・ドラッグしたところでしか結合させてくれません。任意のセルで実行させるにはどのようにすればよいのでしょうか。手取り足取りレベルでご教示いただきたくお願いします。

  • EXCELマクロで自動改行

    EXCELで、1ページ内で、最後まで書くと自動的に列を折り返すようにマクロを設定したいのですが、完全初心者なので何をどうすればいいのか全く分かりません。明日、職場で使う必要があります。どうか助けて下さい(><) 1ページが60行で、A~Cの列を使って表を作った場合(A:名前、B:年齢、C:生年月日)、数値を入力して、各列の61行目に数値を入力すると、自動的にD~F(D:名前、E:年齢、F:生年月日)の列に折り返して数値が表示されるようにしたいです。大体、3回くらい折り返したいです。記述方法を教えて下さい。

  • Excel 2007 マクロ セルの色のカウント

    Excel 2007 マクロ セルの色のカウント 表に複数の色がセルについています。 色がついているセルの隣の列に「1」を返したいです。 どのようなマクロになりますでしょうか。 色がついている列は1行でC列になります。 ご回答よろしくお願いします。

  • エクセル表

    エクセルの表で、個人カルテの様な物を作成してます。 ○12345   6789 △12345  6789 ×12345  6789 と○△×に各1~9迄のセルに一ずつ項目に情報を入力しています。 ○△×の列にフィルタをかけると、12345と6789の行がおかしくなってしまいます。どなたか、○△×1列2行を一つのグループとして設定する方法を教えて頂けないでしょうか??ちなみにエクセル初心者です。宜しくお願いします。

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

  • エクセルのマクロ作成で困っています。任意の列(〇列1行目)から0001

    エクセルのマクロ作成で困っています。任意の列(〇列1行目)から0001-安部 0002-安藤 0003-木下・・と入力された列があります(番号は3桁あるいは4桁です)。そして、例えば最後の入力されたセルの行番号が56だとして、そこに入力されたものが「0056-名前」であるか確認するマクロを作りたいのですが、どのように記述すればよいでしょか?確認したいのは番号(この場合'0056')のみで良いのですが・・。

専門家に質問してみよう