急遽、エクセルVBAを組んでくれと頼まれたのでわかる方、教えていただけますか?
開始日時(A行)と終了日時(B行)があり、
開始と終了の範囲でC以降日付になっており
指定の範囲内でセルの色が塗られるいうものなのですが
なにせ急ぎとVBAがほとんどわからないのでなるべくわかりやすく
教えていただけるとありがたいです。
ちなみにsheetにコードを記入するのとmoduleにコードを記入するのでは
どう違うのですか?わからないまでも一応、色が塗られるところまでは
できたのですがどうやってセルの時間を取得して範囲を指定すれば
良いのかなどがわかりませんどうかよろしくお願い致します。
下記は作成途中ですが・・・
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim row As Integer
Dim line As Integer
row = 5
line = 9
Set objR = Range("A1").Resize(1, 4).Offset(1, 2)
objR.Interior.ColorIndex = 8
End Sub
No.5ベストアンサー
- 回答日時:
No.1です。
予定表とのことですので、下記のようなものをイメージしました。
(全ての行に日付が入っているのではなく、タイトル行にのみ日付が入っている?)
そのつもりで回答致します。
A B C D E F ・・・
1 開始日 終了日 4/1 2 3 4 ・・・
2 2008/4/10 2008/4/20 (ここのセルに色をつけたい)
3 2008/4/14 2008/4/21 (ここのセルに色をつけたい)
・・・以下複数行
まず日付項目(C1から右)を全て日付形式で入力します。
これをセルの書式設定でユーザー定義サイズ"m/d"にすると「4/1」
"d"にすると「1」となります。
直接1と入力すると、Excelは1900/1/1と判断しますので
必ず日付形式で入力して、書式設定で表示を変えるようにします。
次に色をつけたい範囲(C2から右)を全て選択して「条件付き書式」で
「数式が」「=AND($A2<=C$1,$B2>=C$1,WEEKDAY(C$1,2)<=5)」の場合
「セルのパターンを(任意の色)」と設定します。
これでC列以降の1行目(タイトル行)が同じ行のA列の日付以上、
同じ行のB列の日付以下、土日以外である場合に該当セルに色がつきます。
土日以外の休み(祝祭日)まで対応となるとややこしくなりますので
とりあえずはこのくらいで。
No.4
- 回答日時:
3列目以降の書式がはっきりしませんが、こんな感じでやってみてください。
Dim Y, X, T, D, S, E
For Y = 1 To Cells(1, 1).CurrentRegion.Rows.Count
S = Cells(Y, 1).Value '開始日
E = Cells(Y, 2).Value '終了日
For X = 3 To Cells(Y, 1).CurrentRegion.Columns.Count
T = Cells(Y, X).Text 'セル内容を表示されている形式で取得
If Not IsDate(T) Then '日付形式でなければ編集する
T = Year(S) & "/" & Month(S) & "/" & CStr(T)
End If
Select Case CDate(T) '日付に変換して範囲チェック
Case S To E '開始日~終了日の間
Select Case Weekday(D) '曜日を確かめる
Case 2 To 6 '月~金の間
'セル内部を指定した色で着色する
Cells(Y, X).Interior.Color = &HC0D0E0
End Select
End Select
Next
Next
End Sub
色は適当に変更してください。
また、Cells(Y, X).Interior.ColorIndex = 2 のような指定もできます。尚、当然ではありますが土日以外の休日は処理できません。
No.3
- 回答日時:
ANo.2に間違いがありました。
誤:このC1を、C2:AG1(AGは最大31日なので)にコピーします。
正:このC1を、D1:AG1(AGは最大31日なので)にコピーします。
誤:で、1日以外は日だけなのでC2:AG1を選択して
正:で、1日以外は日だけなのでD1:AG1を選択して
No.2
- 回答日時:
こんなのではどうでしょうか?
C1に以下を設定します。
=IF($A1<>"",IF(MONTH(DATE(YEAR($A1),MONTH($A1),COLUMN(A1)))=MONTH($A1),DATE(YEAR($A1),MONTH($A1),COLUMN(A1)),""),"")
[書式][セル][セルの書式設定]の[表示形式]を、[ユーザー定義]で[種類]を m/d にします。
[書式][条件付き書式][条件付き書式の設定]で、[数式が][=(C1>=$A1)*(C1<=$B1)*(WEEKDAY(C1,2)<=5)] 書式:フォントの色[赤]
このC1を、C2:AG1(AGは最大31日なので)にコピーします。
これでA1とB1の日付の間の土日以外を赤にします。
で、1日以外は日だけなのでC2:AG1を選択して
[書式][セル][セルの書式設定]の[表示形式]を、[ユーザー定義]で[種類]を d にします。
C1:AG1を必要なだけ行方向にコピーすれば、行方向にも増やせます。
No.1
- 回答日時:
見当外れの回答でしたら申し訳ないですが、
「どこかのセルに期間を入力して、それに合致するセルに色をつけたい」
であれば、わざわざVBAでなくても条件付き書式でよいかと思います。
色をつけたい範囲全てを選択した状態で書式>条件付き書式で
「セルの値が」「次の値の間」で期間の開始と終了のセルの間
と設定すればよいかと思います。
差し支えなければ具体的なデータの例を挙げていただければ
より的確な回答がしやすいのですが。
参考URL:http://kokoro.kir.jp/excel/conditional_form.html
この回答への補足
すいません、返事が遅れました。
don9don9さん返事ありがとうございます。
エクセルもよくわからないのでVBAを使用しなくても出来るならそのほうが良いのですが・・・
例えば、予定表を作る際に開始日時に2008/4/10(A1)と入力し終了日時に2008/4/18(B1)と入力したらC1以降に1・2・3と日付のindexがあったとしたら10~18日までの間のセルの色(何色でも良いです)が変わるといったものを作成したいのです。ただ、土・日は色を塗りたくないので
休みの日は色を変更しないといった感じにしたいのです。
indexは月初めだけ4/1と表示されていてその他は2・3・4という感じになります。
こんな感じわかりますか?
どうかよろしく御願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) VBAについて教えてください 4 2022/11/10 12:44
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Excel(エクセル) VBA カゥントで数値の範囲を規制 1 2022/05/20 06:20
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
食べられるかと思ったけど…ダメでした
「この煮物、だいぶ放置しちゃったけど大丈夫かな…」 「食べ物じゃないけど、なんか食べたらすごく美味しそうな気がする」
-
2024年においていきたいもの
2024年もあとわずかですが、いま抱えているもので「これは来年にもっていきたくないなぁ」というものを教えて下さい。
-
開始時刻から所要時間に応じてセルを塗りつぶすには
その他(Microsoft Office)
-
Excel日程表:開始日~終了日を自動で色付けたい
その他(Microsoft Office)
-
エクセル条件付書式で指定の時間が過ぎていたらフォントの色を変える
Excel(エクセル)
-
-
4
期間内のセル塗りつぶし
Excel(エクセル)
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
ファイルのオープン時に今日の日付にジャンプ
Excel(エクセル)
-
8
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
9
基準日以前のデータを範囲を指定して削除するVBA
Excel(エクセル)
-
10
エクセル マクロ 特定の日付"以降を削除"
セキュリティソフト
-
11
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
12
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
13
あるセルに色を付けた時、別のセルにも同じ色が付く
Excel(エクセル)
-
14
Excel関数:本日以降(以前)の日付を色付けまたは強調したい
Excel(エクセル)
-
15
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
16
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
17
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
18
指定したセルと同じ日付の入ったセルを選択するVBA
その他(Microsoft Office)
-
19
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
20
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 最終行の取得がうまくいか...
-
VB.net 文字列から日付型へ変更...
-
Excel 範囲指定スクショについ...
-
【ExcelVBA】5万行以上のデー...
-
Excel VBA 選択範囲の罫線色の...
-
Excel VBA 定義されたプロージ...
-
VBAで特定の文字が入った行をコ...
-
VBAの質問になります Userform内で
-
エクセルでCDOを使ったメール送...
-
VB.net(VB)で、フォームにExcel...
-
VBAでエクセルのテキストデータ...
-
【マクロ】オートフィルターに...
-
Vba 型が一致しません(エラー1...
-
VBA 入力箇所指定方法
-
[VB.net] ボタン(Flat)のEnable...
-
2つのマクロでチェックボックス...
-
Vba SelStart、SelLen教えてく...
-
エクセルのマクロについて教え...
-
PDF出力マクロについて。マクロ...
-
VBAコードについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAについて教えて下さい
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
【ExcelVBA】5万行以上のデー...
-
VBA Application.Matchについて...
-
Excelのマクロについて教えてく...
-
Excel VBAについて。こんな動作...
-
Excelの数式について教えてくだ...
-
ExcelのVBAコードについて教え...
-
VBA 同じフォルダ内のすべての...
-
不要項目の行削除方法について
-
Vba 型が一致しません(エラー1...
-
【マクロ】オートフィルターに...
-
【VBA】 結合セルに複数画像と...
-
VBAで特定の文字が入った行をコ...
-
ExcelのVBAコードについて教え...
-
VBAでセルの書式を変えずに文字...
-
VBAのエラー表示の対処法について
-
Excelのマクロについて教えてく...
-
Excel マクロについて詳しい方...
おすすめ情報