アプリ版:「スタンプのみでお礼する」機能のリリースについて

シート名「審査」に下記のコードを設定しておりますが、
下記のコードが上手く実行されない原因の解決方法を教えてください。
下記のコードは指定セル値の変更により指定マクロが実行されますが、
例えば
一番最初に
セルF15を変更すると上手く指定マクロが実行されます、その後、セルF18を変更した場合は、指定マクロが実行されません、同じくセルD18を変更した場合もマクロが実行されません。
違うパターンで
最初にF18を変更するとマクロが実行され、その後、F15や D18を変更してもマクロが実行できません。
もう一つ違うパターンで
最初にD18を変更するとマクロが実行され、
その後、F15やF18を変更するとマクロが実行されません。
結論として、F15・F18・D18のどれか一つを変更した後は、残りのセルを変更してもマクロが実行されないのです。
解決方法を教えてください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$15" Then
Call 担当者情報総合
End If
If Target.Address = "$F$18" Then
Call 担当者メッセージ
End If
If Target.Address = "$D$18" Then
Call 審査保存1
End If
End Sub
上記のコードは指定セル値に不特定の文字が表示された時に指定マクロが実行出来るようにしてますが、上手く実行できません。
その他のコードは上手く実行できます。
原因は上手く実行されないコードは不特定の文字の表示
上手く実行できるコードは特定の文字の表示にあるのでしょうか?
宜しくお願い致します。

以上となります。
宜しくお願い致します。

Visual Basic | Excel・163閲覧・25

A 回答 (2件)

私もエクセル初心者です,下記のようでいかがでしょうか。


MsgBoxのところを,Callにすればできそうな気がしますが。

https://daitaideit.com/vba-sheet-event-change/

のぱくりです。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim A
Set A = Union(Range("A1"), Range("A3"), Range("A5"))

If Not Intersect(Target, A) Is Nothing Then

Select Case Target.Address
Case "$A$1"
MsgBox "A1です。"
Case "$A$3"
MsgBox "A3です。"
Case "$A$5"
MsgBox "A5です。"
End Select
End If

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます
早速試してみます^ ^

お礼日時:2024/03/01 20:38

初級者ジジィなので単なる推測ですから、絶対に期待できないですよ。



https://thom.hateblo.jp/entry/2015/08/31/063500

Call しているマクロのどこかで、上記にある
・Application.EnableEvents = False 'イベント抑制
を実行しているが処理が終わっても
・Application.EnableEvents = True 'イベント抑制
により制御されるようにもどしてないとか?

なんて思っちゃいましたけど、そんなミスはないですしね。。。

Call の代わりにメッセージボックスをそれぞれに入れても動きませんか?
もし動くのならCall 先の問題かなって切り分けられそう?
    • good
    • 0
この回答へのお礼

ありがとうございます
確認してみます

お礼日時:2024/03/01 20:38

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A