
作業ブックに下記のコードを設定してます、
例えば
日付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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
vbaマクロについて
Visual Basic(VBA)
-
質問58753 このコードでうまく動作しません。どうしたら良いですか Private Sub Wor
Visual Basic(VBA)
-
Excelの区切り文字について質問です。 Excel機能にある、区切り文字を使う時に区切ったあとの書
Excel(エクセル)
-
-
4
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
5
エクセルシート保護を解除させない方法。
Excel(エクセル)
-
6
桁をセルで区切って計算をした場合、合計がしっかりと繰り上げされた形式で表示される方法
Excel(エクセル)
-
7
エクセルで 45201 を文字列 20231002 にする方法を教えてください。
Excel(エクセル)
-
8
Excelの罫線を消す方法
Excel(エクセル)
-
9
VB.net 文字列から日付型へ変更したい
Visual Basic(VBA)
-
10
Excelの開始ブックを固定したい マクロなしで
Excel(エクセル)
-
11
Excelの条件付き書式のコピーと参照セルを自動で変えるようにする方法
Excel(エクセル)
-
12
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
13
エクセルの設定、下へスクロールすると表のヘッダ項目がシートの列番号の部分に表示される
Excel(エクセル)
-
14
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
15
役所でもらった書類をエクセル化するには? 役所に申請する用紙があります。A4で表になっていて枠内に文
その他(Microsoft Office)
-
16
excelVBAについて。
Excel(エクセル)
-
17
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
18
エクセルマクロについて教えて下さい。
Excel(エクセル)
-
19
excelVBAについて。
Excel(エクセル)
-
20
excelVBAについて。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
vba textboxへの入力について教...
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】シートの変数へ入れ...
-
【VBA】 結合セルに複数画像と...
-
Vba Array関数について教えてく...
-
vbsでのwebフォームへの入力制限?
-
複数のExcelファイルをマージす...
-
Vba セルの4辺について罫線が有...
-
VBAでセルの書式を変えずに文字...
-
VBA ユーザーフォーム ボタンク...
-
【マクロ】並び替えの範囲が、...
-
pdfファイルの複数添付 引数の型
-
【マクロ】売上一覧YYYYMMDDHHS...
-
エクセルのマクロについて教え...
-
VBA 最終行の取得がうまくいか...
-
WindowsのOutlook を VBA から...
-
VBA 円グラフ 特定条件に一致し...
-
[VB.net] ボタン(Flat)のEnable...
-
【ExcelVBA】値を変更しながら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba Array関数について教えてく...
-
VBAでCOPYを繰り返すと、処理が...
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】シートの変数へ入れ...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
【マクロ】並び替えの範囲が、...
-
Vba セルの4辺について罫線が有...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
VBAでユーザーフォームを指定回...
-
【マクロ】開いているブックの...
-
エクセルの改行について
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
算術演算子「¥」の意味について
-
Excelのマクロについて教えてく...
-
改行文字「vbCrLf」とは
-
ワードの図形にマクロを登録で...
-
VBAの「To」という語句について
-
【マクロ】変数を使った、文字...
おすすめ情報
例えば
D6:2025年3月31日 <= F6:2025年4月1日
D8:2025年5月1日 > F8:2025年4月1日
D10:2025年3月31日 <= F10:2025年4月1日
日付をこのように設定した場合に、この設定のすべての条件が揃た時に
マクロを実行できるコードを教えてください。
よろしくお願いいたします。
回答ありがとうございます。
具体的にどのようなコードに設定すれば用でしょうか?
教えていただけますか。
よろしくお願いいたします。
回答ありがとうございます。
具体的にどのようなコードを設定すると良いかを教えていただけますでしょうか。
よろしくお願いいたします。
ご連絡、ありがとうございます。
申し訳ありません。
質問に記載したコードは以前この質問で教えていただいたコードを
少し変更したもので、私自身、内容が理解できておりません。
もう少し、詳しく教えてください。
宜しくお願い致します