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