月間予定表を複数作っております。
<状況>
A1 : ドロップダウンリストで年度を指定
D1 : ドロップダウンリストで月を指定
A3 : =date(A1,D1,1) 毎月1日を表示
A4 : =A3+1 毎月2日を表示
A5 : =A4+1 毎月3日を表示
・
・ A列を毎月末まで作成しています。
<やりたい事>
原本シート作ろうとしており、それをCOPYし、そのシートを翌月へ更新した時に・・・
毎金曜日 : J列~O列(13時~16時)を図の様に書式設定したい
毎日曜日 : A列~O列(9時~16時)を図の様に書式設定したい
書式設定
文字入力 ⇒ 第〇会議室 ・ 時間
セルの結合と文字列を中央に
背景をグレーに
マクロ、VBAになるのでしょうか・・・。
月を切り替えて日付・曜日を更新し、条件付き書式で色を付ける所までは
できました。しかし、そこからができませんでした。
テキストボックスにマクロを登録してボタンを設置し、押した時に処理される様な
形式にしていただければと思っております。 金曜日ボタン・日曜日ボタンと
二つに分かれても構いません。
どうか宜しくお願いします。 同様の処理のシートが複数あり、困ってきました。
皆様のお力貸して頂けませんでしょうか。お願いします。
No.2ベストアンサー
- 回答日時:
シート名タブを右クリックしてコードの表示を選ぶ
現れたシートに下記をコピー貼り付ける
private sub Worksheet_Change(byval Target as excel.range)
dim r as integer
dim d as date
if application.intersect(target, range("A1,D1")) is nothing then exit sub
if range("A1") = "" or range("D1") = "" then exit sub
range("B3:O33").unmerge
range("B3:O33").clearcontents
range("B3:O33").wraptext = true
range("B3:O33").horizontalalignment = xlcenter
range("B3:O33").interior.colorindex = xlnone
application.enableevents = false
for r = 3 to 33
d = dateserial(range("A1"), range("D1"), r - 2)
if month(d) = range("D1") then
select case format(d, "aaa")
case "金"
range(cells(r, "J"), cells(r, "O")).merge
cells(r, "J") = "第一会議室" & vblf & "13:00~16:00"
cells(r, "J").interior.color = xlgray25
case "日"
range(cells(r, "B"), cells(r, "O")).merge
cells(r, "B") = "第二会議室" & vblf & "9:00~16:00"
cells(r, "B").interior.color = xlgray25
case else
end select
end if
next r
application.enableevents = true
end sub
ファイルメニューから終了してエクセルに戻る
A1、D1をてきとーに書き換えると自動で動作する。
#塗色については好みに応じて修正してください。
#オマケ
A3セルには
=IF(MONTH(DATE($A$1,$D$1,ROW(A1)))=$D$1,DATE($A$1,$D$1,ROW(A1)),"")
と記入、セルの書式設定のユーザー定義で d(aaa)と設定
31日のセルまでコピー貼り付ける
No.3
- 回答日時:
No.1です!
たびたびごめんなさい。
前回のコードで間違いが2ヶ所ありました。
>If WorksheetFunction.Weekday(Cells(i, "A")) = 1 Then
を
>If WorksheetFunction.Weekday(Cells(i, "A")) = 6 Then
に
>ElseIf WorksheetFunction.Weekday(Cells(i, "A")) = 5 Then
を
>ElseIf WorksheetFunction.Weekday(Cells(i, "A")) = 1 Then
に
訂正してください。
曜日と列範囲が違っていました。m(_ _)m
No.1
- 回答日時:
こんばんは!
>テキストボックスにマクロを登録してボタンを設置し、押した時に・・・
とありますので、テキストボックスを挿入 → 上下左右の小さな矢印になるところで右クリック → マクロの登録
→ 編集 → VBE画面に↓のコードをコピー&ペーストしてみてください。
Sub テキストボックス1_Click()
Dim i As Long
i = Cells(Rows.Count, "A").End(xlUp).Row
With Range(Cells(3, "B"), Cells(i, "O"))
.ClearContents
.UnMerge
.Interior.ColorIndex = xlNone
End With
For i = 3 To Cells(Rows.Count, "A").End(xlUp).Row
If WorksheetFunction.Weekday(Cells(i, "A")) = 1 Then
With Range(Cells(i, "J"), Cells(i, "O"))
.Merge
.Interior.ColorIndex = 15 '←グレイ25%
.Value = "第一会議室" & vbCrLf & "13:00~16:00"
.HorizontalAlignment = xlCenter
End With
ElseIf WorksheetFunction.Weekday(Cells(i, "A")) = 5 Then
With Range(Cells(i, "B"), Cells(i, "O"))
.Merge
.Interior.ColorIndex = 15
.Value = "第二会議室" & vbCrLf & "9:00~16:00"
.HorizontalAlignment = xlCenter
End With
End If
Next i
End Sub
1行目の
>Sub テキストボックス1_Click()
と最終行の
>End Sub
は表示されますのでその間に2行目以降をコピー&ペーストします。
※ 各行は2行分表示されるだけの高さが十分あるものとします。
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 条件付き書式で文字入力 6 2022/08/29 10:40
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) エクセルでセルの日付を和暦表示設定にしたらおかしなことに? 3 2022/05/25 11:47
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) エクセルの条件付き書式 3 2022/05/08 03:17
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
会社PCのメールが更新されない
-
英数字のみ全角から半角に変換
-
【Microsoft Forms】回答を削除...
-
VLOOKUP関数について
-
Microsoft Formsの「個人情報や...
-
【スプレッドシート】指定の日...
-
outlookのメールが固まってしま...
-
vb.net オブジェクト指向につい...
-
Outlook で宛先が複数の場合の人数
-
【スプレッドシート】白色のセ...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルでXLOOKUP関数...
-
Microsoft Formsで「応答」から...
-
Office 2021 Professional Plus...
-
エクセルのシフト表を簡単にGoo...
-
Microsoft Edgeの「ニュースと...
-
Microsoft Officeに似たキング...
-
Excel VBA 日程表からスケジュ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報