- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:同じシート内にイベントプロシージャが二つある時)
同じシート内にイベントプロシージャが二つある時の解決方法
このQ&Aのポイント
- 同じシート内にイベントプロシージャを二つ挿入すると、エラーが発生する可能性があります。エラーメッセージは「名前が適切ではありません; Worksheet_BeforeDoubleClick」と表示されます。この現象を解決するためには、イベントプロシージャの名前を区別できるようにする必要があります。
- 解決策の一つとして、イベントプロシージャの名前を変更することが挙げられます。例えば、1つ目のイベントプロシージャの名前を「Worksheet1_BeforeDoubleClick」とし、2つ目のイベントプロシージャの名前を「Worksheet2_BeforeDoubleClick」とします。
- また、もう一つの解決策は、イベントプロシージャを別のモジュールに移動することです。同じシート内に複数のイベントプロシージャがある場合、それぞれのイベントプロシージャは別々のモジュールに配置する必要があります。これにより、名前の競合を回避することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
同じイベントを複数並べるのはダメです。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If not Intersect(Target, Range("A2:A51")) Is Nothing Then ’この範囲がWクリックされた時 Cancel = True Sheets(CStr(Target.Value)).Select elseif not application.intersect(target, range("B2:B51")) is nothing then ’この範囲がWクリックされた時 Cancel = True target = iif(target = "", "○", "") End If End Sub #実際にはtarget.columnで仕分けるのでも十分そうに見えます。
お礼
お礼を申し上げる前に下記の時は大変ご迷惑をおかけしました。 不特定のシートをマクロで削除を http://oshiete.goo.ne.jp/qa/8813466.html 早速の御指導に有難うございます。 上手くできました。 少しずつ進歩しています。 頑張りますので今後とも暖かく見守っていただけたら幸甚の至りに存じます。