重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

下記のコードは以前教えて頂いたコードで
If Not Intersect(Target, Range("C5")) Is Nothing Then
If Range("C5").Value = "都市計画区域内" Then
Call 申請時期
End If
End If
指定セル値に指定文字が表示されると
マクロが実行されます、又、繰り返しのマクロ実行を防いでます。
このコードだと、指定セルが同じセルでのコードになりますが、
If Not Intersect(Target, Range("C5")) Is Nothing Then
If Range("C5").Value = "都市計画区域内" Then
この部分を
If Range("C5").Value = "都市計画区域外" And Range("E5").Value = "階数:2階以上又は200㎡を超える" Then
に変更し、マクロを繰り返し実行できない方法を教えてください。
よろしくお願いいたします。

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

  • 回答ありがとうございました。
    うまくできました、
    もう一つ教えていただけますか。
    今回教えていただいたコードは
    C5とE5のどちらかのセルが更新された場合のみ、
    C5とE5のセルの内容を判定するようにしています。
    となっておりますが、
    例えば、3つのセルの内1つだけ更新された場合のコードは
    If Not Intersect(Target, Range("C5,E5,G5")) Is Nothing Then
    If Range("C5").Value = "都市計画区域外" And Range("E5").Value = "階数:2階以上又は200㎡を超える" And Range("G5").Value = "3月31日以前" Then
    Call 申請時期
    End If
    End If
    のようにすることで問題はありませんか?
    もし、質問のルール違反であれば、質問をし直します。

    No.3の回答に寄せられた補足コメントです。 補足日時:2024/12/07 08:13

A 回答 (4件)

>もう一つ教えていただけますか。


>今回教えていただいたコードは
>C5とE5のどちらかのセルが更新された場合のみ、
>C5とE5のセルの内容を判定するようにしています。
>となっておりますが、
>例えば、3つのセルの内1つだけ更新された場合のコードは
>If Not Intersect(Target, Range("C5,E5,G5")) Is Nothing Then
>If Range("C5").Value = "都市計画区域外" And Range("E5").Value = "階数:2階以上又は200㎡を超える" And Range("G5").Value = "3月31日以前" Then
>Call 申請時期
>End If
>End If
>のようにすることで問題はありませんか?

はい。それでOKです。
    • good
    • 0
この回答へのお礼

ありがとうございます^ ^

お礼日時:2024/12/07 08:41

もし、繰り返しのマクロ実行を防ぐことを、無視してい良いなら、


以下のようになります。

If Not Intersect(Target, Range("C5,E5")) Is Nothing Then
If Range("C5").Value = "都市計画区域外" And Range("E5").Value = "階数:2階以上又は200㎡を超える" Then
Call 申請時期
End If
End If


C5とE5のどちらかのセルが更新された場合のみ、
C5とE5のセルの内容を判定するようにしています。
この回答への補足あり
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
参考にさせて頂きます。

お礼日時:2024/12/06 10:38

提示された以下のコード


--------------------------
If Not Intersect(Target, Range("C5")) Is Nothing Then
If Range("C5").Value = "都市計画区域内" Then
Call 申請時期
End If
End If
--------------------------
には、繰り返しのマクロ実行を防ぐ機能は、見当たりません。
どのようにして繰り返しのマクロ実行を防いでいるのでしょうか?
    • good
    • 0
この回答へのお礼

回答、ありがとうございました
良く確認してみます

お礼日時:2024/12/05 20:54

こんにちは



>マクロが実行されます、又、繰り返しのマクロ実行を防いでます。
意味がよくわかりませんね。
C5セルを一度書き換えて(=クリアするなど)から、再度「都市計画区域内」と入力すれば、再度実行されます。

本当に1度しか実行できないようにしたいのなら、シート内のどこかの非表示セルを保護状態にしておいて、そこにフラグを立てるとか、あるいは実行後にそのマクロを編集するようなマクロを組み込んでおく等が必要になると思われます。
上記でも、そのまま保存しないで閉じられると再実行が可能になってしまうので、マクロ内で上書き保存も行っておく必要がありますね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にさせて頂きます。

お礼日時:2024/12/05 17:34

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

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


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