
作業シートに下記のコードを設定しております。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("$C$5")) Is Nothing Then
If Range("$C$5").Value = "都市計画内" Then
Call 新築手続き必要
End If
End If
End Sub
コードは一つの指定セル値の指定文字が表示されるとマクロ「新築手続き必要」が実行されます、
複数の指定セル値に指定文字が表示された時にマクロ「新築手続き必要」が実行できる方法を教えてください。
例えば
C5="都市計画区域内"
且つ
G5="3月31日以前"
且つ
I5="4月01日以降"
以上の場合にマクロ「新築手続き必要」が実行できる方法を教えてください。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
' チェックするセル範囲を配列で定義
Dim checkRanges As Variant
checkRanges = Array("C5", "G5", "I5")
' 変更されたセルがチェック対象のいずれかであるか確認
Dim isTargetChange As Boolean
isTargetChange = False
Dim checkRange As Variant
For Each checkRange In checkRanges
If Not Intersect(Target, Range(checkRange)) Is Nothing Then
isTargetChange = True
Exit For
End If
Next
' チェック対象のセルが変更されていない場合は、処理を終了
If Not isTargetChange Then Exit Sub
' 全ての条件を満たしているか確認
If Range("C5").Value = "都市計画区域内" And _
Range("G5").Value = "3月31日以前" And _
Range("I5").Value = "4月01日以降" Then
Call 新築手続き必要
End If
End Sub
回答ありがとうございました。
ご親切にコードを教えていただきまして、ありがとうございます。
上手くできました。
感謝いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2024/12/04 13:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2024/12/05 16:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/07/02 08:51
- Visual Basic(VBA) VBAコードについて教えてください。 3 2024/07/02 12:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/03/01 17:04
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2024/06/18 09:20
- Visual Basic(VBA) エクセルのVBAコードについて教えてください。 6 2024/06/28 11:33
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2024/11/27 15:06
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
あなたの人生で一番ピンチに陥った瞬間は?
これまでの人生で今振り返ると「あの時、1番ピンチだったなぁ...」という瞬間はありますか?
-
今から楽しみな予定はありますか?
いよいよ2025年が始まりました。皆さんには、今から楽しみにしている予定はありますか?
-
VBA Application.Matchについての質問です
Visual Basic(VBA)
-
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
-
4
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
5
Excelの数式について教えてください。
Visual Basic(VBA)
-
6
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
7
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
8
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
9
マクロVBAです。 どなたかコードをご教示いただけないでしょうか。 シート名に(チェ)がある全シート
Visual Basic(VBA)
-
10
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
11
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
12
ExcelVBAマクロで実行した時の疑問
Visual Basic(VBA)
-
13
エクセル タブの下のメニューを選択 実行するコード
Visual Basic(VBA)
-
14
[Excel VBA]特定の条件で文字を削除&残す処理をするファイルを作成したいです
Visual Basic(VBA)
-
15
VBA 入力箇所指定方法
Visual Basic(VBA)
-
16
エクセルを使ってQRコードを作成したい。
Excel(エクセル)
-
17
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
18
Excelの数式について教えてください。
Excel(エクセル)
-
19
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
20
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBA 段落番号自動取得方法
-
VBAの質問(Msgboxについて)です
-
Excelのマクロについて教えてく...
-
Excel マクロについて詳しい方...
-
VBAの「To」という語句について
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてく...
-
VBAでユーザーフォームを指定回...
-
[VB.net] ボタン(Flat)のEnable...
-
ExcelのVBAコードについて教え...
-
VBAでFOR NEXT分を Application...
-
以下のプログラムの実行結果は...
-
質問58753 このコードでうまく...
-
VBA 最終行の取得がうまくいか...
-
Excel 範囲指定スクショについ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
えくせるのVBAコードについて教...
-
エクセルのVBAコードについて教...
-
VBA 同じフォルダ内のすべての...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.net 文字列から日付型へ変更...
-
VBA 最終行の取得がうまくいか...
-
VBAでエクセルのテキストデータ...
-
【ExcelVBA】5万行以上のデー...
-
エクセルVBAで在庫の組み換え処...
-
VBAから書き込んだ条件付き初期...
-
エクセルのVBAコードについて教...
-
VBAでユーザーフォームを指定回...
-
エクセルのVBAについて教えてく...
-
vbaマクロについて
-
ExcelのVBAコードについて教え...
-
【VBA】 結合セルに複数画像と...
-
WindowsのOutlook を VBA から...
-
質問58753 このコードでうまく...
-
ExcelのVBAコードについて教え...
-
Excel VBAについて。こんな動作...
-
[Excel VBA]特定の条件で文字を...
-
[VB.net] ボタン(Flat)のEnable...
-
エクエルのVBAコードについて教...
-
ExcelのVBAコードについて教え...
おすすめ情報
先ほどは回答をありがとうございました。
私の質問が不足しておりまして、
先ほど教えて頂いたコードを
同じ作業シートに各セル値を変更して、何個か設定したいのですが、例えば
Dim checkRanges As Variant
checkRanges = Array("C5", "E5", "G5", "I5")
Dim isTargetChange As Boolean
isTargetChange = False
Dim checkRange As Variant
For Each checkRange In checkRanges
If Not Intersect(Target, Range(checkRange)) Is Nothing Then
isTargetChange = True
Exit For
End If
Next
「文字数の関係で何回かに分けます」
If Not isTargetChange Then Exit Sub
If Range("C5").Value = "都市計画区域内" And _
Range("E5").Value = "階数:2階以上・面積:200㎡を超" And _
Range("G5").Value = "3月31日以前" And _
Range("I5").Value = "4月01日以降" Then
Call 新築手続き必要
End If
二つ目のコード
Dim checkRanges As Variant
checkRanges = Array("C5", "E5", "G5")
Dim isTargetChange As Boolean
isTargetChange = False
Dim checkRange As Variant
For Each checkRange In checkRanges
If Not Intersect(Target, Range(checkRange)) Is Nothing Then
isTargetChange = True
Exit For
End If
Next
If Not isTargetChange Then Exit Sub
If Range("C5").Value = "都市計画区域内" And _
Range("E5").Value = "階数:2階以上・面積:200㎡を超" And _
Range("G5").Value = "4月01日以降" Then
Call 新築手続き必要
End If
を設定すると先ほど添付しました、エラーメッセージが表示されてしまいます。
解決方法を教えて頂きたいのですが、
別質問を行った方がよろしいでしょうか。
よろしくお願いします。
申し訳ありません、
自身で、解決できました。
ありがとうございました。