
No.3ベストアンサー
- 回答日時:
こんにちは!
>シートが31枚あり、シート名がそれぞれ1日~31日となっており・・・
月が替わるたびに同じシートを使いまわすのですかね?
大の月・小の月の兼ね合いがあると思いますので
とりあえず、月末までのシートの処理としてみました。(小の月の場合は30番目、2月は28または29番目まで)
マクロを実行した日の「月」に準じています。
標準モジュールにしてください。
Sub Sample1()
Dim k As Long, myDay As Date, myWk
For k = 1 To Day(WorksheetFunction.EoMonth(Date, 0))
With Worksheets(k)
myDay = DateSerial(Year(Date), Month(Date), Val(Replace(.Name, "日", "")))
myWk = WorksheetFunction.Weekday(myDay)
Select Case myWk
Case 1
.Tab.ColorIndex = 3
Case 7
.Tab.ColorIndex = 5
Case Else
.Tab.ColorIndex = xlNone
End Select
End With
Next k
End Sub
※ シート名は必ず「1日・2日・・・31日」となっているという前提です。
>祝日なら赤。
に関しては祝日データがどこにあるか?によってコードが変わってきますので、
今回は考慮していません。m(_ _)m
No.2
- 回答日時:
マクロ使わなくても条件付き書式でセルを修飾すれば良いだけですよ。
シート名もCELL関数を使って取得することができます。(FIND関数やMID関数などを使って切り出す必要がありますけどね)
あとは得られたシート名を日付に直してWEEKDAY関数に入れれば曜日を得る事ができます。
その結果を土曜日の場合の値と比較することで、その日付が土曜日かを判断できます。
一度CELL関数などの使い方を調べてみましょう。
・・・余談・・・
代わりに作ってもらう事は疑問の解決ではなく先送りにしかなりません。
自作するうえで何が分からないのかを確認し、理解するための質問をするようにしましょう。
この質問に対する回答は、
「マクロを使わなくても、条件付き書式でできますよ」
ということです。
それを実現するためのヒントも書きましたので、あとは自身の努力を見せる番です。
「CELL関数の2番目の項目は何を指定すればいいのか分からない」
など、具体的な補足なら時間が空いてもお答えしますよ。
(返答にはちょっと時間がかかると思いますけどね)
No.1
- 回答日時:
こんにちは
>シート名がそれぞれ1日~31日となっており
どのようなマクロにしたいのかよくわかりませんが、自動で曜日を判定させたいのなら、日付だけの情報では無理ですね。
>どのようにマクロを組めばいいかご教示頂ければ幸いです
以下のような処理を、各シートでループすれば可能と思います
1)シートの表す日付を特定(上記のように方法は不明)
2)年月日から曜日を特定する
MsgBox Weekday(dt) で可能です(dt:Date型の日付)
(1~7の値をとり、日曜~土曜を意味します)
3)曜日に応じて、見出しに色を付ける
※ 3)の方法は、マクロの記録などで試してみればわかると思います。
※ 確実に1日~順に並んでいる保証があれば、『最初のシートの曜日をチェックして、対象日(=シート)を計算で求め、7シートおきにまとめて色付けする』といった方法も考えられそう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルの休日について教えてください。 1 2023/01/06 15:45
- Excel(エクセル) Excelについて 1 2023/03/06 10:26
- Excel(エクセル) 添付写真上のExcelシートのように時間と曜日ごとに担当者が振り分けられているシートがあります。 例 1 2023/03/08 13:02
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) Excel シート複数 金額日計表と日付 簡単にシートコピーしたら前日の残高と日付を変更させたい 1 2022/07/15 22:10
- Excel(エクセル) Excelシフト表 固定シフトの自動変換化 1 2022/04/14 16:10
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) 再質問です。エクセルでシートが1から31まであり、日付けが入力されているセルがあります。シート1から 4 2022/08/02 23:08
このQ&Aを見た人はこんなQ&Aも見ています
-
シート見出しの色を自動的に変更させたい
Excel(エクセル)
-
あるセルに文字が入力されるとシート見出しの色を自動で変更したい
その他(Microsoft Office)
-
シート見出しの色を自動で変えるには
Excel(エクセル)
-
-
4
[EXCELマクロ] シートタブに自動で色をつけるには?
Excel(エクセル)
-
5
VBAで条件によってシート見出しの色を変更したい
Excel(エクセル)
-
6
セルの値によって、シート見出しの色を変更したい
Visual Basic(VBA)
-
7
EXCEL関数(土日祝日自動色分け)
Excel(エクセル)
-
8
VBAで特定文字列がある場合にシート見出しの色を変更したい。
その他(プログラミング・Web制作)
-
9
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
10
エクセルで別シートの同じ位置にオブジェクトをコピーしたい
その他(Microsoft Office)
-
11
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
12
Excelで、「特定のセル」に入力したら→「別のセル」に「○」を自動表示する方法
Excel(エクセル)
-
13
ファイルのオープン時に今日の日付にジャンプ
Excel(エクセル)
-
14
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
15
エクセル:シート名を手入力でなく、セル「A1」の文字を出したい。
Excel(エクセル)
-
16
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
17
エクセルで特定の列が0表示の場合、その行を非表示にしたい
Excel(エクセル)
-
18
マクロを複数シートに実行するには?
Excel(エクセル)
-
19
Excel 計算式の中で使っているシート名を変更しても使えるような式が知りたい
Excel(エクセル)
-
20
セルの書式設定のフォントやサイズの設定はできないの
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで集計をしたい
-
コマンドボタンがデザインモー...
-
エクセルを開いたとき常に同じ...
-
マクロを特定の複数シートで実...
-
Excelのマクロの呼び出し元を知...
-
エクセル 図形の色変更マクロ(...
-
マクロを複数シートに実行する...
-
VBAで条件によってシート見出し...
-
【 Excel】シートの見出しに自...
-
ドミノのマクロで最後まで行く...
-
EXCELの起動時に常に同じ...
-
一枚ずつ印刷用のマクロに複数...
-
マクロでの全シート内検索
-
マクロで複数シートに条件付き...
-
VBA シート名を先月の名前に...
-
エクセルで串刺ししたシートの...
-
エクセル ヘッダー(フッター)...
-
マクロ 各シートの決められた位...
-
【マクロ】【配列】3つのシー...
-
【マクロ】アクティブセルの時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
エクセルのVBAで集計をしたい
-
エクセルを開いたとき常に同じ...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
Excelのマクロの呼び出し元を知...
-
EXCELでマクロを使わずに図形の...
-
マクロ 各シートの決められた位...
-
エクセルでシートの並び替えで...
-
EXCELのエラー
-
EXCELでワークシートを開いたら...
-
メッセージボックスでシート名...
-
マクロを特定の複数シートで実...
-
VBA シート名を先月の名前に...
-
マクロで複数シートに条件付き...
-
エクセルで、マクロボタンの表...
-
VBAで条件によってシート見出し...
-
【Excel】複数あるシート上の住...
-
エクセルVBAでcmbBoxのプロパテ...
-
エクセルのチェックボックス
おすすめ情報