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

Excelで、4つのセルのうち、1つをクリックすると排他的に"○"と表示する方法を教えてください。
具体的には・・・
例えばA1~A4のセルのうち、A1をクリックすると、"○"が表示されますが、
次にA2やA3、A4をクリックすると、A1の"○"の表示は消え、クリックした
セルにのみ"○"が表示されるという具合です。
伝わりますでしょうか・・・
つまり、A1~A4のいずれかにしか"○"が表示されないようにしたいのです。
VBでなくてもかまいません。
よい方法をご存知の方はぜひ教えてください。
宜しくお願いいたします。

A 回答 (3件)

ワークシートのコード例?


あとは、いろいろ試してみてください

Dim last As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not last Is Nothing Then
last.Formula = ""
End If
If ActiveCell.Address >= "$A$1" And ActiveCell.Address <= "$A$4" Then
ActiveCell.Formula = "○"
Set last = ActiveCell
Else
Set last = Nothing
End If

End Sub
    • good
    • 0
この回答へのお礼

まさにこれです!
どうもありがとうございます!
実行してみたときに、すごく感動でした。
ありがとうございました。

お礼日時:2006/12/26 23:18

セルをクリックしたとき といったイベントが用意されていません


セルの選択が変更されたときといったイベントなら SelectionChangeといったイベントが用意されています

Sub Worksheet_SelectionChange(ByVal Target as Range)
 ' 引数Targetには 選択されている範囲が設定されています
 if Target.Columns.Count = 1 and Target.Rows.Count = 1 then
  ' 選択範囲が1セルの場合以下を実行
  if Target.Colum = 1 then
   ' 選択セルが1列目 A列の場合
   if Target.row > 0 and Target.Row < 5 then
    ' 選択セルが 1行目から4行目までの場合
    dim a(3,0) as String, n as integer
    for n=0 to 3
     if Traget.Row = n + 1 then
      '選択行の場合
      a(n,0) = "○"
     else
      '選択行以外の場合
      a(n,0) = ""
     end if
    next
    ' セルの内容を更新
    Range("A1:A4").Value = a
   end if
  end if
 end if
End Sub
といった具合でしょう ...
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
やってみます。

お礼日時:2006/12/26 23:22

オプションボタンを使うのが最も簡単だと思います。



表示-ツールバー-コントロールツールボックスのオプションボタンなら空きセルを LinkedCell で設定して、そのセルをIF関数等で判定させる。

表示-ツールバー-フォームのオプションボタンでも、プロパティのリンクするセルで同様の事が可能です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
量が多いので、オプションボタンを使うのが億劫なのです。
量が多いことを書いておけばよかったですね。
ご意見ありがとうございました。

お礼日時:2006/12/26 23:24

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