[[20050508095758]] 『追加セルをクリックするとそのセルに"■"を表示』(ととろ) >>BOT

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

 

『追加セルをクリックするとそのセルに"■"を表示』(ととろ)

お世話になります。

特定の範囲のセル(例えば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.