[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ダブルクリックで作動するコードを2つ作りたい』(たけてぃー)
こんにちは。お世話になります。よろしくお願いします。
1つのシートにて
ダブルクリックで作動するコードを2つ作りたいのですが
エラーが出てうまくいきません。
1つめはA列のどこかをダブルクリックすると
発動するコードです。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
〜中略〜
End Sub
2つめはセルの削除という名前の定義をしたセルをダブルクリックすると
発動するコードです。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("セルの削除") Is Nothing Then Exit Sub
call 削除する
End Sub
この2つが作動するようになるには
どこをどう直したらよろしいのでしょうか。
宜しくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
同じイベントプロシージャは一つのシート内では一つしか作成できない。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = Range("セルの削除").Address Then Call 削除する End If If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub '〜中略〜 End Sub ではどうか? (ねむねむ) 2018/10/19(金) 17:08
中略の下に
もうひとつEnd Ifを足して実行してみたところ
'Range'メソッドは失敗しました。_Worksheet' オブジェクト
のエラーがでてしまいました。
なにとぞよろしくお願いします。
(たけてぃー) 2018/10/19(金) 17:30
>中略の下にもうひとつEnd Ifを足して実行してみたところ
そこに足してはダメです。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Address = Range("セルの削除").Address Then Call 削除する End If
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub End If '〜中略〜 End Sub
のように、ダブルクリックした列がA列以外だったら終了するように判定してるだけなので・・
(もこな2) 2018/10/19(金) 18:47
セル範囲である(単一セルでない)場合、TargetとAddressプロパティを比較しても合致しないと判定されちゃいそうなので、原案どおりIntersectメソッドでTargetが「セルの削除」に含まれているか判定したほうが、良さそうにおもいます。
(もこな2) 2018/10/19(金) 19:10
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If not Intersect(Target, Range("A:A")) Is Nothing Then 〜ひとつ目の処理〜 End If
If not Intersect(Target, Range("セルの削除") Is Nothing Then call 削除する end if End Sub
としてみてはどうでしょうか
(もこな2) 2018/10/19(金) 19:18
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.