[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『追加セルをクリックするとそのセルに"■"を表示』(ととろ)
お世話になります。
特定の範囲のセル(例えばA5:E5)内で、特定のセルをクリックすると
■を入力し、消したい場合は、更にクリックすると消えるといった
場合のコードの書き方を教えてください。
Excel2002
WindowsXP
クリックは、ダブルクリックにしてあります。 シートモジュールにコピペしてください〜♪
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Row <> 5 Then Exit Sub If Target.Column > 5 Then Exit Sub Cancel = True If Target.Value = "■" Then Target.Value = "" Else Target.Value = "■" End If End Sub
(キリキ)(〃⌒o⌒)b
うまくいったのですが、この場合は、セルがA5:E5以外の所は作動しないということですよね。
逆に、例えば、A5:E5やA6:E5、A8:E5の部分だけ(複数の範囲)クリック入力可能とゆうようにする場合は
どのように書けばいいのですか?
>セルがA5:E5以外の所は作動しないということですよね はい、その通り☆
>複数の範囲)クリック入力可能とゆうようにする場合は・・・ え〜と、、、 上記コードの > If Target.Row <> 5 Then Exit Sub > If Target.Column > 5 Then Exit Sub の部分が、範囲を指定しております。 この部分を変更すれば、出来ますよ〜♪
>A5:E5やA6:E5、A8:E5の部分だけ(複数の範囲) この部分は、重複しているような気がしますが??? A5からE8までの範囲ってことですか? であれば、上記コードを If Target.Row < 5 Then Exit Sub If Target.Row > 8 Then Exit Sub If Target.Column > 5 Then Exit Sub に変更してみてください。
(キリキ)(〃⌒o⌒)b
こんちくわ。 キリキさんのコードを拝借して、ちこっと変更。 "a5:e5,a8:e8,b1:b10"のあたりを自分の好きなように変更してください。 (ramrun)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim flag As Object Const adr As String = "a5:e5,a8:e8,b1:b10"
Set flag = Application.Intersect(Target, Range(adr)) If flag Is Nothing Then Exit Sub
Cancel = True If Target.Value = "■" Then Target.Value = Clear Else Target.Value = "■" End If End Sub
おぉ〜 ramrunさん、こんにちわっす!
んだば、もう一案
お好きなセルに、該当範囲を入力。 例:A5とB5とC5とD5とE5とA6とA8を対象にしたい。 A1に上記範囲を入力 $A$5,$B$5,$C$5,$D$5,$E$5,$A$6,$A$8
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim AD As Variant AD = Cells(1, 1) If AD Like "*" & Target.Address & "*" Then Cancel = True If Target.Value = "■" Then Target.Value = "" Else Target.Value = "■" End If End If: Exit Sub End Sub
(キリキ)(〃⌒o⌒)b
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.