プロが教えるわが家の防犯対策術!

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

A 回答 (6件)

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
    • good
    • 5
この回答へのお礼

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

お礼日時:2006/06/01 09:45

すみません。

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

#1です。


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

No.1さんの回答ですが、SelectionChangeイベントを使っているようですが、これだと「クリックしてチェックのオン・オフ」の仕様に対しては不完全ではないでしょうか?



SelectionChangeイベントは「選択範囲を変更したとき」に発生するイベントです。

「クリック」してセルを移動したときに発生するのでクリックして発生するイベントのように思いがちですが、アクティブセル(現在のセル)をクリックしても発生しません。

ところがチェックの場合は同じセルをクリックする場合が多々あると思います。

どうでしょうか?
    • good
    • 1

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

    • good
    • 1
この回答へのお礼

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

お礼日時:2006/06/01 09:46

こんにちは。



チェックボックスを使いたくないとのことですが、となるとVBAを使うことになりますがよろしいでしょうか?

それとVBAでも正確には希望道理のことはほぼ無理だと思いますので代案となります。

それでよろしければ回答いたしますがよろしいでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/06/01 09:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています