[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『チェックボックスを使わずにチェックマークを入れたい』(名無し)
いつもお世話になっております。
チェックボックスを使用せずに、特定のセルをWクリックするだけで
チェックマークが入るようにしたいと思い、
他のサイトで同じような質問を見つけ、下記のようなコードを入れてみました。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Intersect(Target, Range("C1")) Is Nothing Then Exit Sub
Select Case Target.Value
Case ""
Target.Value = "✓"
Case "✓"
Target.Value = ""
End Select
End Sub
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
試してみた所、
次のようなエラーメッセージがでました。
「実行時エラー’13’
型が一致しません」
実は「C1」というセルは、一つのセルではなくて
「C1」と「D1」が結合されたセルです。
結合を解除して、「C1」だけをクリックすると、Wクリックで✓印が表示されるようになりました。
凡例としてチェック箇所は1箇所のみですが、実際の作業は結合されたセルが
20個ほどあり、作業を削減させる為にこのコードを完成させたいのですが
結合されたセルでも有効になるにはどのようにすればいいでしょうか?
何卒ご教示願います。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
Select Case Target(1).Value (???) 2016/10/24(月) 14:36
Dim t As Range Cancel = True If Intersect(Target, Range("C1")) Is Nothing Then Exit Sub For Each t In Target Select Case t.Value Case "" t.Value = "レ": Exit Sub Case "レ" t.Value = "": Exit Sub End Select Next t End Sub (mm) 2016/10/24(月) 14:49
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Range("C:C"), Target) Is Nothing Then Exit Sub Cancel = True
With Target(1) Select Case .Value Case ChrW(&H2611): .Value = ChrW(&H2610) Case Else: .Value = ChrW(&H2611) End Select End With End Sub
結合セルの場合、ターゲットに複数セルが与えられるから、
Valueで値が配列になるので、単なる値ではないので、型が違いますになります。
Target(1)と明示したら複数ある1個目の意味になるので、値が得られます。
(まっつわん) 2016/10/24(月) 15:04
もう一つ、困った事になってしまいました。
該当箇所に✓マークは入りましたが、他の入力箇所(チェックマークとは関係ない箇所)を修正しようとすると
ダブルクリックしてもカーソルが反応しなくなってしまいました。
私がコードの内容を理解していない事もあり、これがどういう症状なのかまったくわかりません。
ご教示頂けたら幸いです。
(名無し) 2016/10/24(月) 15:14
Cancel = True が If Intersect(Target, Range("C1")) Is Nothing Then Exit Sub の前にある場合は後ろに移してみてはどうか。
Cancel = True でダブルクリック本来の挙動を無しにしているが範囲チェックの前に行ってしまうと どこをダブルクリックしてもその挙動(セルの再編集)を無しにしてしまう。 (なのでまっつわんさんのほうはそうならない) (ねむねむ) 2016/10/24(月) 15:22
Cancel = True
が、ダブルクリックの操作を無効にするスイッチなので、
そちらが提示されたコードでは、まずそのスイッチを無効にしているので、
何が何でも無効になってしまいます。
まずは、この処理をしたいセルを明確にして、
条件分岐で(If〜Then〜の文)で、
こういう時はこう、そういうときはそれと、処理を場合分けしないとだめです。
(まっつわん) 2016/10/24(月) 15:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.