下記のコードは以前教えて頂いたコードで
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
に変更し、マクロを繰り返し実行できない方法を教えてください。
よろしくお願いいたします。
No.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です。
No.3
- 回答日時:
もし、繰り返しのマクロ実行を防ぐことを、無視してい良いなら、
以下のようになります。
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のセルの内容を判定するようにしています。
No.2
- 回答日時:
提示された以下のコード
--------------------------
If Not Intersect(Target, Range("C5")) Is Nothing Then
If Range("C5").Value = "都市計画区域内" Then
Call 申請時期
End If
End If
--------------------------
には、繰り返しのマクロ実行を防ぐ機能は、見当たりません。
どのようにして繰り返しのマクロ実行を防いでいるのでしょうか?
No.1
- 回答日時:
こんにちは
>マクロが実行されます、又、繰り返しのマクロ実行を防いでます。
意味がよくわかりませんね。
C5セルを一度書き換えて(=クリアするなど)から、再度「都市計画区域内」と入力すれば、再度実行されます。
本当に1度しか実行できないようにしたいのなら、シート内のどこかの非表示セルを保護状態にしておいて、そこにフラグを立てるとか、あるいは実行後にそのマクロを編集するようなマクロを組み込んでおく等が必要になると思われます。
上記でも、そのまま保存しないで閉じられると再実行が可能になってしまうので、マクロ内で上書き保存も行っておく必要がありますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードについて教えてください。 3 2024/07/02 12:34
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
- Excel(エクセル) VBA Private Sub Worksheet_Changeで 1 2024/05/01 16:59
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/07/02 08:51
- Visual Basic(VBA) VBAコードについて教えてください。 2 2024/06/18 13:51
- Visual Basic(VBA) エクセルのVBAコードについて教えてください。 1 2024/07/03 17:47
- Visual Basic(VBA) VBAコードについて教えてください、 下記のコードを一つにまとめる方法を教えてください セルF18に 2 2024/03/06 20:11
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2024/03/28 13:38
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2024/03/06 13:07
このQ&Aを見た人はこんなQ&Aも見ています
-


Visualbasicの現状について教えてください
Visual Basic(VBA)
-


VBAのエラー表示の対処法について
Visual Basic(VBA)
-


不要項目の行削除方法について
Visual Basic(VBA)
-
-
4

Excelのマクロについて教えてください。
Visual Basic(VBA)
-
5

Excelのマクロについて教えてください。
Visual Basic(VBA)
-
6

Excelのマクロについて教えてください。
Visual Basic(VBA)
-
7

修正依頼:【VBA】 結合セルに複数画像とファイル名一括挿入する方法
Visual Basic(VBA)
-
8

VBAについて教えて下さい
Visual Basic(VBA)
-
9

Excelの数式について教えてください。
Visual Basic(VBA)
-
10

実務の処理について。
Excel(エクセル)
-
11

ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
12

pythonでAmazonのほしいものリストをローカル保存するスクリプト書いたら一部しか保存できぬ!
その他(プログラミング・Web制作)
-
13

VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
14

プログラミングのやり方ざっくりでいいから教えて
その他(プログラミング・Web制作)
-
15

if関数。半角文字や全角文字で分ける事ができますか?
Excel(エクセル)
-
16

【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
17

アセンブリ言語について。
その他(プログラミング・Web制作)
-
18

Excelのマクロについて教えてください。
Visual Basic(VBA)
-
19

Excelで合計を求めたいです
Excel(エクセル)
-
20

VBA Application.Matchについての質問です
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】並び替えの範囲が、...
-
【マクロ】オートフィルター を...
-
Vba Array関数について教えてく...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】値を変更しながら...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
【ExcelVBA】5万行以上のデー...
-
VBAでセルの書式を変えずに文字...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
vb.net(vs2022)のtextboxのデザ...
-
Excel VBA 選択範囲の罫線色の...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
エクセルの改行について
-
VBAで特定の文字が入った行をコ...
-
WindowsのOutlook を VBA から...
-
Excel 範囲指定スクショについ...
-
【マクロ】シートの変数へ入れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報













回答ありがとうございました。
うまくできました、
もう一つ教えていただけますか。
今回教えていただいたコードは
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
のようにすることで問題はありませんか?
もし、質問のルール違反であれば、質問をし直します。