dポイントプレゼントキャンペーン実施中!

全く詳しくないので上手く質問できるか分からないのですが…

1つのシートの中で、かつ、別のエリアで
ダブルクリックで記号を表示させたいです。

①AK6からCG6 間の行に対して、ダブルクリックで○が表示されるようにしたい。

②AK17からCG500のすべてのセルに対して、ダブルクリックで⚫と◎が表示されるようにしたい


今自分なりに下記をコード?に入れてみたところ、②についてはクリアできたのですが①について追加できず困っています。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("AK17:CG500")) Is Nothing Then Exit Sub
With Target
Select Case .Value
Case ""
.Value = "●"
Case "●"
.Value = "◎"
Case "◎"
.Value = ""
End Select
End With
End Sub


ご教授いただけますでしょうか?

質問者からの補足コメント

  • ご回答ありがとうございます!

    If Not Intersect(Target, Range("AK17:CG500")) Is Nothing Then
    ElseIf Not Intersect(Target, Range("AK6:CG6")) Is Nothing Then
    End If

    とそのまま入力すればよいのでしょうか?
    わからずコピペしてみたのですがうまくいきません(;_;)

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/08/31 09:33
  • ありがとうございます!明日出社後試してまた書かせていただきます!

    No.2の回答に寄せられた補足コメントです。 補足日時:2023/08/31 19:33

A 回答 (2件)

これでどうでしょうか。


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("AK6:CG6")) Is Nothing Then
With Target
Select Case .Value
Case ""
.Value = "○"
Case "○"
.Value = ""
End Select
End With
End If
If Not Intersect(Target, Range("AK17:CG500")) Is Nothing Then
With Target
Select Case .Value
Case ""
.Value = "●"
Case "●"
.Value = "◎"
Case "◎"
.Value = ""
End Select
End With
End If
End Sub
この回答への補足あり
    • good
    • 0
この回答へのお礼

できました!バッチリです!!
下手な説明にご丁寧に回答下さりありがとうございました!

お礼日時:2023/09/01 10:14

こんばんは



同種のイベント処理を複数作成することはできません。
ですので、同じ処理の中で場合分けをして処理することになります。

ご提示のコードでは、②の範囲以外なら処理を中断するようになっていますが、中断せずに続けて①の範囲かどうかを判断すれば良いでしょう。
(①の範囲と②の範囲に重複がないと仮定しています)

具体的には
If Not Intersect(Target, Range("AK17:CG500")) Is Nothing Then
 ' ②の範囲の場合の処理
ElseIf Not Intersect(Target, Range("AK6:CG6")) Is Nothing Then
 ' ①の範囲の場合の処理
End If
のような感じでしょうか。
この回答への補足あり
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!