• ベストアンサー

エクセルのセルをチェックボックス代わりにしたい

A1~A20に質問があり、それに対する回答を B1~B20にチェックを入れる形にしたいと思っています。 クリックひとつで、チェックがついたり外れたり する機能をつけるにはどうしたらよいですか? A1→B20は罫線によって表が作られて います。従って、フォームツールバーで作れるような チェックボックスを使いたくないのです。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

B1:B20 のフォントを、Webdings か marlett にしてからシートタブをクリックし、 コードの表示 を選択してください。 開いた画面に、以下をコピペしてから、その画面を閉じます。 Private Sub Worksheet_SelectionChange(ByVal Target As Range)  If Target.Column <> 2 Then Exit Sub  If Target.Row > 20 Then Exit Sub  Select Case Target.Value   Case Is = ""    Target.Value = "a"   Case Else    Target.Value = ""  End Select  Target.Offset(0, -1).Select End Sub

maytan
質問者

お礼

お礼が遅くなり申し訳ありません。 理想通りのものができました! ありがとうございましたm(__)m

その他の回答 (5)

回答No.6

すみません。#5の訂正です。 > 処理後に強制的に右隣のセル(問題が書かれたセル)を選択 左隣りの間違いでした。

回答No.5

#1です。 > アクティブセル(現在のセル)をクリックしても発生しません。 SelectionChangeイベントにつきましては、#4さまのおっしゃるとおりです。 そのため、最後の行 Target.Offset(0, -1).Select デ、処理後に強制的に右隣のセル(問題が書かれたセル)を選択させています。

noname#187541
noname#187541
回答No.4

No.1さんの回答ですが、SelectionChangeイベントを使っているようですが、これだと「クリックしてチェックのオン・オフ」の仕様に対しては不完全ではないでしょうか? SelectionChangeイベントは「選択範囲を変更したとき」に発生するイベントです。 「クリック」してセルを移動したときに発生するのでクリックして発生するイベントのように思いがちですが、アクティブセル(現在のセル)をクリックしても発生しません。 ところがチェックの場合は同じセルをクリックする場合が多々あると思います。 どうでしょうか?

  • aminaka
  • ベストアンサー率20% (2/10)
回答No.3

ご要望とは多少違うかもしれませんが、データの入力規則のリストで、レとスペースとのリストを作成と言うのは如何でしょう?

maytan
質問者

お礼

そういう発想の転換も必要ですね。 参考にさせて頂きます。 ありがとうございました。

noname#187541
noname#187541
回答No.2

こんにちは。 チェックボックスを使いたくないとのことですが、となるとVBAを使うことになりますがよろしいでしょうか? それとVBAでも正確には希望道理のことはほぼ無理だと思いますので代案となります。 それでよろしければ回答いたしますがよろしいでしょうか?

maytan
質問者

お礼

いろいろ考えていただきまして ありがとうございましたm(__)m

関連するQ&A

  • エクセルのチェックボックス

    エクセルで作成した表  日付と品名とチェックボックスと金額が入ったセルがあります。    例  A           B        C 日付          金額   チェックボックスと金額 1999/12/1   1000   □  500 2000/10/1   2000   □  600 という風にデータが入った表を日付ごとに並べ替えをしようとすると チェックボックスのデータだけチェックマークがオンのデータをオフのデータが 並びかえがされず、困っています。 どうしたらいいのでしょうか?

  • エクセルで、チェックボックスがオンになっているもののみ抽出したい

    こんにちは、とても困っているのでわかる方がいらっしゃいましたら教えてください>< A列にはチェックボックスが入っていて、 B列にリストがあるという形になっています。 A列のチェックボックスにチェックが入っているものだけを抽出する事は 出来ないでしょうか。 ネットで調べてみたら、同じような質問があったのですが、 どれもマクロを使えば出来るのでは?という回答だけで、 実際の方法が書かれていませんでした。 因みに、チェックボックスはセルにリンクさせていない状態です。 よろしくおねがいします!!!

  • EXCELのチェックボックスについて

    EXCEL2003を使用しています。 ■質問項目があり、回答する複数のセルにチェックボックスを配置してあります。 A列:質問 B列:回答のチェックボックス C列:回答のチェックボックス D列:回答のチェックボックス : Z列:OK 又は NGと表記したい。 ■各列の回答チェックボックスが全てonになっていたらOK、1つでもoffになっていたらNGと、Z列に表記させたいのですが、どのような式になりますか? ご回答の程、よろしくお願いいたします。

  • セルに入力されたら  チェックボックスにチェック

    タイトルのとおりなのですが、A列にチエックボックスをA・B・C・Dと 作り、たとえばC1にBと入力されたらチェックボックスのBにチェックを 入れたいです。

  • Excelチェックボックス応用方法

    Excel初心者で困っております… 表現が分かりにくいと思いますがどなたか教えて頂ければと思います。 ◆各項目ごとにチェックボックスがついている表を作成中です◆ 仮に入口Aの選択肢a1~a10として、a3を選択したとします。 ◆以下が質問です↓ チェックボックスが1つ以上入れば、結果Bの値がAの選択肢(a1~a10)の範囲内でa5になる。 ※チェックボックスが1つも入らなかった場合に流すメッセージも表示出来たら素晴らしいです。 よろしくお願いします!!

  • Excelのチェックボックスを黒く塗りつぶしたい

    Excelでチェックボックスを作成した際 クリックしたらデフォルトでレ点が入れられますが、 こちらレ点以外に"■"のような塗りつぶしの形でチェックすることは 可能ですか? 調べましたがよく分かりませんでした、申し訳ありません。

  • Excelのチェックボックスについて教えてください

    Excel2003使用者です。 今顧客リストを作成しているのですが、 A列にフォームでチェックボックスを入れていて、簡単にはこんな感じになっています。    A       B    C   D  ・・・ 1 チェックボックス 顧客名 部署 住所 ・・・ 営業が訪問した先のチェックボックスにチェックを入れるようになっています。 これをオートフィルタ機能で、チェックをつけたところとつけてないところでフィルタをかけたいのですが、 全て「空白セル」としてフィルタがかかりません。 またオートフィルタをかけるとチェックボックスが寄ってしまいます。 フォームではダメなのかと思って、コントロールツールボックスでチェックボックスを作成したのですが、 それもダメでした。 どなたか解決方法を教えていただけないでしょうか。 オートフィルタでチェックボックスにチェックしたものだけを表示させることはできないのでしょうか。 もしマクロを組まないといけないのでしたら、マクロ初心者なため、 出来ればコードも教えていただきたく、 また、オートフィルタをかけた際にチェックボックスが移動してしまうことも解決したいので、 その点についても教えていただけると幸いです。 お手数ですが、宜しくお願い致します。

  • エクセル2002でチェックBOX

    会社でエクセル2002を使用しています。 今度より機能的なシートにしたいと思ってまして、チェックBOX を機能として採用したいと思っています。 一応BOXはでてきて、チェックBOXの名前の変更もできるのですが チェックを入れることができません。 どのような方法でチェックBOXにチェックが入れれるようになるのでしょうか? ネットなどで参考としてみているのですが、どうもエクセル2003で ないとチェックBOXの方法が見つからなかったので、質問させてもらいました。

  • エクセルでチェックボックスって使えるのでしょうか?

    ある様式を作っておいて、お客さんごとにその様式に記入しているのですが、 たとえば ○○○○さん  ■男 □女 の「 ■□ 」をいつも「しかく」と打ち込んで変換しています。 エクセルの表の中にチェックボックスを作ってクリック1つでチェックすることって出来るのでしょうか?また、そのチェックを計算に発展することは出来るのでしょうか? どなたか教えてください。よろしくお願いします。

  • チェックボックスを使ってセルの背景色を変える方法

    チェックボックスを使ってエクセルで報告書を作成しました。A1セルにチェックボックスにチェックを入れると、B1セルが塗りつぶされるようにしたいのですが、何か良い方法はありますか?これはプログラムを組むしかないのでしょうか?もしそうならば、その方法・回答を教えて下さい。宜しくお願い致します。

専門家に質問してみよう