作業ブックに下記のコードを設定してます、
例えば
日付D6<=日付F6
日付D6>日付F6
日付D10<=日付F10/の条件が揃た時にマクロ「増築3月31日以前図表示」が実行できるように設定しましたが、このコードではうまくマクロが実行されません。
解決方法を教えてください。
現状のコード
Private Sub Worksheet_Change(ByVal Target As Range)
Dim checkRanges As Variant
checkRanges = Array("D6", "D8", "D10")
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("D6").Value <= CDate("F6") And _
Range("D8").Value > CDate("F8") And _
Range("D10").Value <= CDate("F10") Then
End If
Call 増築3月31日以前図表示
End Sub
以上となります。
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
以下のようにしてください。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim checkRanges As Variant
checkRanges = Array("D6", "D8", "D10")
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("D6").Value <= Range("F6") And _
Range("D8").Value > Range("F8") And _
Range("D10").Value <= Range("F10") Then
Call 増築3月31日以前図表示
End If
End Sub
No.3
- 回答日時:
No1です。
>~~が実行できるように設定しましたが~
作成者ならわかるはずです。
No2様が丁寧な指摘もしてくださっています。
>具体的にどのようなコードに設定すれば用でしょうか?
例えば、No1の後半部分について言うなら、
If Intersect(Target, Range("D6,D8,D10")) Is Nothing Then Exit Sub
とすることで、前後の10行ほどのコードは不要になります。
No.2
- 回答日時:
「条件が揃た時にマクロ「増築3月31日以前図表示」が実行」なら
If <条件> Then の後、End Ifより前に実行するものを書きます。
どういう風に処理が流れていくのか意識してください。

No.1
- 回答日時:
こんにちは
条件を判定しているのに、処理の分岐をしていないので、判定が無意味になっていませんか?
なお、ご質問には関係ありませんけれど・・
変更セルのチェックも、単純に
Intersect(Target, Range("D6,D8,D10"))
を見れば同じことができるので、まわりくどいことをしなくても、ほぼ1センテンスですませられます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2024/12/04 13:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/07/02 08:51
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2024/06/18 09:20
- Visual Basic(VBA) VBAコードについて教えてください。 2 2024/06/18 13:51
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
- Excel(エクセル) VBA Private Sub Worksheet_Changeで 1 2024/05/01 16:59
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2024/12/05 16:25
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 5 2024/05/29 16:59
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
このQ&Aを見た人はこんなQ&Aも見ています
-


vbaマクロについて
Visual Basic(VBA)
-


質問58753 このコードでうまく動作しません。どうしたら良いですか Private Sub Wor
Visual Basic(VBA)
-


エクセル タブの下のメニューを選択 実行するコード
Visual Basic(VBA)
-
-
4

【ExcelVBA】dictionaryの重複判断の基準(セル結合だと違う値として認識される)
Visual Basic(VBA)
-
5

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

Excelファイルのすべての更新日時を調べる方法
Excel(エクセル)
-
7

【再投稿】レイアウトが異なる別のワークブックからデータを転記する方法を教えてください
Excel(エクセル)
-
8

エクセルシート保護を解除させない方法。
Excel(エクセル)
-
9

Excelの区切り文字について質問です。 Excel機能にある、区切り文字を使う時に区切ったあとの書
Excel(エクセル)
-
10

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

桁をセルで区切って計算をした場合、合計がしっかりと繰り上げされた形式で表示される方法
Excel(エクセル)
-
12

Excelの罫線を消す方法
Excel(エクセル)
-
13

エクセルで 45201 を文字列 20231002 にする方法を教えてください。
Excel(エクセル)
-
14

VB.net 文字列から日付型へ変更したい
Visual Basic(VBA)
-
15

Excelの開始ブックを固定したい マクロなしで
Excel(エクセル)
-
16

Excelの条件付き書式のコピーと参照セルを自動で変えるようにする方法
Excel(エクセル)
-
17

エクセルの設定、下へスクロールすると表のヘッダ項目がシートの列番号の部分に表示される
Excel(エクセル)
-
18

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

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

役所でもらった書類をエクセル化するには? 役所に申請する用紙があります。A4で表になっていて枠内に文
その他(Microsoft Office)
関連するカテゴリから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 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報















例えば
D6:2025年3月31日 <= F6:2025年4月1日
D8:2025年5月1日 > F8:2025年4月1日
D10:2025年3月31日 <= F10:2025年4月1日
日付をこのように設定した場合に、この設定のすべての条件が揃た時に
マクロを実行できるコードを教えてください。
よろしくお願いいたします。
回答ありがとうございます。
具体的にどのようなコードに設定すれば用でしょうか?
教えていただけますか。
よろしくお願いいたします。
回答ありがとうございます。
具体的にどのようなコードを設定すると良いかを教えていただけますでしょうか。
よろしくお願いいたします。
ご連絡、ありがとうございます。
申し訳ありません。
質問に記載したコードは以前この質問で教えていただいたコードを
少し変更したもので、私自身、内容が理解できておりません。
もう少し、詳しく教えてください。
宜しくお願い致します