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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
シート見出しの色を自動的に変更させたい
Excel(エクセル)
-
あるセルに文字が入力されるとシート見出しの色を自動で変更したい
その他(Microsoft Office)
-
VBAで条件によってシート見出しの色を変更したい
Excel(エクセル)
-
-
4
シート見出しの色を自動で変えるには
Excel(エクセル)
-
5
[EXCELマクロ] シートタブに自動で色をつけるには?
Excel(エクセル)
-
6
セルの値によって、シート見出しの色を変更したい
Visual Basic(VBA)
-
7
EXCEL関数(土日祝日自動色分け)
Excel(エクセル)
-
8
エクセル:シート名を手入力でなく、セル「A1」の文字を出したい。
Excel(エクセル)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
【Excel VBA】シート見出しの色を変更する
Excel(エクセル)
-
11
EXCELで1ヶ月分の連続した日付をシート名+セルに表示させたい
Excel(エクセル)
-
12
VBAでセルに入っている日付をシート名にする
Excel(エクセル)
-
13
マクロ実行後元に戻すことは
PowerPoint(パワーポイント)
-
14
エクセルで色の変更を他のシートに反映させるには
Access(アクセス)
-
15
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
16
エクセルでシート名を自動入力したい。
Excel(エクセル)
-
17
エクセルvba (ByVal Target As Range)について
Excel(エクセル)
-
18
E列のセルに数値が入れば(空白でなければ)B列の同じ行のセルに色がつく
その他(Microsoft Office)
-
19
Excelで、小数点以下が0になる場合は0は非表示、数値がある場合はそ
Excel(エクセル)
-
20
計算結果が「0」のセルだけを「0」と表示したい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
VBAで条件によってシート見出し...
-
エクセルを開いたとき常に同じ...
-
マクロを特定の複数シートで実...
-
EXCELでワークシートを開いたら...
-
Excel:複数シートから条件に合...
-
複数シートの保護・解除
-
エクセルの複数のワークシート...
-
エクセルで回数をカウントする...
-
Excelで,特定のシートを開いた...
-
マクロで複数シートに条件付き...
-
エクセルを閉じる際に自動保存...
-
EXCELのエラー
-
EXCELでマクロを使わずに図形の...
-
マクロでのシートコピー数制限?
-
コマンドボタンがデザインモー...
-
エクセルでシートの並び替えで...
-
エクセル2013でマクロのボタン...
-
エクセルのマクロでMACアドレス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
EXCELでワークシートを開いたら...
-
エクセルを開いたとき常に同じ...
-
VBAで条件によってシート見出し...
-
EXCELでマクロを使わずに図形の...
-
マクロを特定の複数シートで実...
-
エクセルでシートの並び替えで...
-
エクセルの複数のワークシート...
-
複数シートの保護・解除
-
エクセルで複数のSheetを一括フ...
-
エクセルで回数をカウントする...
-
EXCELのエラー
-
Excel:複数シートから条件に合...
-
VBA シート名を先月の名前に...
-
EXCELの起動時に常に同じ...
-
Excelで,特定のシートを開いた...
-
Excelのマクロの呼び出し元を知...
-
メッセージボックスでシート名...
おすすめ情報