[[20071028050812]] 『セルをクリックするごとに丸.ばつ.三角の順に値を』(困ったちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルをクリックするごとに丸.ばつ.三角の順に値を表示』(困ったちゃん)
色々調べて見たのですがお手あげです。
早速ですが御教授おねがいします。
セルをクリックするごとに丸.ばつ.三角の順に値を表示させたいのですが何かよい方法ありますでしょうか!
エクセル2003

 >セルをクリックするごとに丸.ばつ.三角の順に値を表示させたい・・・
 ちょっと違うのですが下スレから・・・
[[20041121181122]]『マウスで反応する○、×、△』(MIHOY)
 (dack)

 Excel勉強中の身ですが、考え方だけ書き込んでみます。
 dackさんご提示のリンク先と組み合わせていただいて、If(switch)文で振り分ける方法です。
 セルをクリックした時点での、セルの値で新たに入れる値を決定します。

 ○なら×
 ×なら△
 それ以外なら○

 コードは稚拙なものしか書けませんので割愛しますが、
 レスがつかないようでしたら恥を忍んで書き込みに来ます。(くろぞう)

 作ってみました。A列をダブルクリックで反応します。
 元々他の文字が入っている場合は何もしません。
(純丸)(o^-')b

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Target.Column <> 1 Then Exit Sub    'A列以外は終了
   Cancel = True
   With Target
     Select Case .Value
       Case "○"
         .Value = "×"
       Case "×"
         .Value = "△"
       Case "△", ""
         .Value = "○"
     End Select
   End With
 End Sub


 同じくDクリック、A列対象で作ってみました。
 (ROUGE)
'----
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
    If .Column > 1 Then Exit Sub
    .Value = IIf(Len(.Text), Choose(InStr("○×", .Value) + 1, "○", "×", "△"), "○")
End With
Cancel = True
End Sub

同じくM列〜P列を上のようにするにはどのようにすれば良いのでしょうか?


 >  If Target.Column <> 1 Then Exit Sub    'A列以外は終了
 こちらの判定をM列〜P列以外は終了とすればよいです(あきお)
 具体的には、
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Target.Column < 13 Or _
      Target.Column > 16 Then
      Exit Sub
   End If 'M列〜P列以外は終了
   Cancel = True
   With Target
     Select Case .Value
       Case "○"
         .Value = "×"
       Case "×"
         .Value = "△"
       Case Else '○×以外
         .Value = "○"
     End Select
   End With
 End Sub


 >    If .Column > 1 Then Exit Sub
 を
     If Intersect(Range("M:P"), .Cells) Is Nothing Then Exit Sub
 に変更でもOKです。
 (ROUGE)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.