Excel VBA 質問スレッド №2108 (解決済)
すみません
投稿者 : ど素人 投稿日時 : 2025/04/11(Fri) 17:26:37 OS : 未指定 EXCEL : 未指定
わからないままにやっているので質問もわかりにくいようで申し訳ありません・・・。 Sub 表示1()
縦列に工種名、横列には日付(1年分のため別シートに日付を入れて飛ばしています)、また空いているところに開始日(2025年1月1日等)と終了日をそれぞれ入力しています。開始日と終了日をそれぞれの工種ごとに横列の日付に沿って塗りつぶしをしたいのです。なぜか途中までは日付通りに塗りつぶされるのですが途中から開始日はOKで終了日の部分だけその月の最終日まで塗りつぶされてしまうのです。こんな説明でわかりますでしょうか? これでも説明が足りないようでしたらあきらめます・・・。
ご助言いただきました方、本当にありがとうございます。
わからないままにやっているので質問もわかりにくいようで申し訳ありません・・・。 Sub 表示1()
' ' 表示1 Macro ' ' Keyboard Shortcut: Ctrl+n ' Columns("b:ni").Select Range("b13").Activate Selection.SpecialCells(xlCellTypeFormulas, 16).Select Selection.EntireColumn.Hidden = True End Sub Sub リセット() ' ' リセット Macro ' ' Keyboard Shortcut: Ctrl+b ' Columns("b:ni").Select Range("b13").Activate Selection.EntireColumn.Hidden = False Range("no5").Select End Sub Sub 工期() ' ' 工期 Macro ' ' ActiveWindow.ScrollColumn = 90 ActiveWindow.ScrollColumn = 78 ActiveWindow.ScrollColumn = 67 ActiveWindow.ScrollColumn = 62 ActiveWindow.ScrollColumn = 59 ActiveWindow.ScrollColumn = 54 ActiveWindow.ScrollColumn = 49 ActiveWindow.ScrollColumn = 45 ActiveWindow.ScrollColumn = 42 ActiveWindow.ScrollColumn = 36 ActiveWindow.ScrollColumn = 32 ActiveWindow.ScrollColumn = 29 ActiveWindow.ScrollColumn = 25 ActiveWindow.ScrollColumn = 21 ActiveWindow.ScrollColumn = 18 ActiveWindow.ScrollColumn = 16 ActiveWindow.ScrollColumn = 13 ActiveWindow.ScrollColumn = 11 ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 8 ActiveWindow.ScrollColumn = 7 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 1 Range("b13:ni13").Select Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _ Formula1:="=$nl$7", Formula2:="=$nl$8" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 255 .TintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = False ActiveWindow.ScrollColumn = 8 ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 11 ActiveWindow.ScrollColumn = 12 ActiveWindow.ScrollColumn = 14 ActiveWindow.ScrollColumn = 15 ActiveWindow.ScrollColumn = 16 ActiveWindow.ScrollColumn = 18 ActiveWindow.ScrollColumn = 21 ActiveWindow.ScrollColumn = 23 ActiveWindow.ScrollColumn = 24 ActiveWindow.ScrollColumn = 25 ActiveWindow.ScrollColumn = 27 ActiveWindow.ScrollColumn = 28 ActiveWindow.ScrollColumn = 29 ActiveWindow.ScrollColumn = 32 ActiveWindow.ScrollColumn = 33 ActiveWindow.ScrollColumn = 36 ActiveWindow.ScrollColumn = 37 ActiveWindow.ScrollColumn = 39 ActiveWindow.ScrollColumn = 40 ActiveWindow.ScrollColumn = 41 ActiveWindow.ScrollColumn = 42 End Sub
縦列に工種名、横列には日付(1年分のため別シートに日付を入れて飛ばしています)、また空いているところに開始日(2025年1月1日等)と終了日をそれぞれ入力しています。開始日と終了日をそれぞれの工種ごとに横列の日付に沿って塗りつぶしをしたいのです。なぜか途中までは日付通りに塗りつぶされるのですが途中から開始日はOKで終了日の部分だけその月の最終日まで塗りつぶされてしまうのです。こんな説明でわかりますでしょうか? これでも説明が足りないようでしたらあきらめます・・・。
ご助言いただきました方、本当にありがとうございます。
スポンサーリンク
[返信 1] Re : すみません
投稿者 : さんこう 投稿日時 : 2025/04/11(Fri) 17:44:58
>横列には日付(1年分のため別シートに日付を入れて飛ばしています)
VBAコード自体は、条件付き書式を設定しているだけですので、
こちらの日付のほうに問題があるように思います。
※最初の質問のほうは、解決済みにしてください。
>横列には日付(1年分のため別シートに日付を入れて飛ばしています)
VBAコード自体は、条件付き書式を設定しているだけですので、
こちらの日付のほうに問題があるように思います。
※最初の質問のほうは、解決済みにしてください。
[返信 2] Re : すみません
投稿者 : てらてら 投稿日時 : 2025/04/12(Sat) 06:30:32
こんにちは。
一応、検証してみましたがマクロ自体には問題は無いようです。
(無駄な工程はありますが、、、)
さんこうさんのおっしゃるように、対象となる日付の方を点検してみてはいかがでしょうか?
こんにちは。
一応、検証してみましたがマクロ自体には問題は無いようです。
(無駄な工程はありますが、、、)
さんこうさんのおっしゃるように、対象となる日付の方を点検してみてはいかがでしょうか?
[返信 3] Re : すみません
投稿者 : 配慮 投稿日時 : 2025/04/12(Sat) 07:05:01
スクロールってマクロの処理として必要ないから消せば…
スクロールってマクロの処理として必要ないから消せば…
[返信 4] Re : すみません
投稿者 : ど素人 投稿日時 : 2025/04/21(Mon) 16:33:27
皆様ありがとうございました
皆様ありがとうございました
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-07-03 17:15:18 )