[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルをクリックするごとに丸.ばつ.三角の順に値を表示』(困ったちゃん)
>セルをクリックするごとに丸.ばつ.三角の順に値を表示させたい・・・ ちょっと違うのですが下スレから・・・ [[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.