[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『条件によってシートの見出しの色を変更』(ぴっきー)
excel2007を使っていますが、2Qのセルに「=DATEDIF(F4,TODAY(),"ym")」 の数式が入っていて、その結果が「6カ月」のものはそのシートの見出しを 黄色にしたいのですが、どのようにすればよいでしょうか? よろしくお願いいたします。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
With Sh
If .Range("Q2") = 6 Then
.Tab.ColorIndex = 6
Else
.Tab.ColorIndex = xlNone
End If
End With
End Sub
でどうでしょうか? ※↑のコードはThisWorkbookシートモジュールに貼り付けてください。 ご存知でしたらすいません。
(se_9)
すみません。ThisWorkbookシートモジュールに貼り付けて マクロ有効BOOKで保存して、マクロを有効したのですが シートの見出しの色は変わりませんでした。 初心者なので、何か手順が抜けているのでしょうか…
(ぴっきー)
みやほりんさんと衝突。
横から失礼
se_9さんのコードは、そのシートに変更があったら自動的に動くもの。 計算式がF4の値をベースにしているので、F4には入力されるだろう、その入力された時に実行しようと そういうコード。
F4の値をいろいろ変えてみても、色がついたり消されたりしないといこと? そうじゃなく、たぶん、コードを書いて保存した時に【既にQ2が6】だった。 それを、開いた。あれ?色がついてないじゃないか? そういうことなのかな?
あるいは、F4の日付と今日の日付による計算結果が6。でも開いた時に色がつかない?
そうであれば、そういう対処を加えればいいんだけど、対象のシートって、ブック内の全てのシート? それとも、特定のシート?
(ぶらっと)
つまり、F4はすでにシート作成日?の入力がされていて、
そこから六ヶ月後に何らかの編集が必要なのではないかと推測します。
ブックを開いたときにF4の日付から六ヶ月経過したシートを簡単に見つけたい、
ということでしょう?
(みやほりん)
みほやりんさんのおっしゃている通りです。 内容の詳細は社員の有給の管理なのですが 1社員1シートでF4には入社日が入っています。 (なのでF4の数字は変更することはありません。) ○年6カ月で有給を更新したいので、社員数も多いですし、 1つ1つ確認しなくて済むようにシートの見出しの色を変えたいです。
(ぴっきー)
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In Me.Worksheets
With Sh
If .Range("Q2") = 6 Then
.Tab.ColorIndex = 6
Else
.Tab.ColorIndex = xlNone
End If
End With
Next Sh
End Sub
Calculateだと入力のたびにマクロが走ってしまうこともあるので、
「ブックを開いたとき」に実行されるサンプルコードです。
同じくThisWorkBookモジュールへ。
(みやほりん)
できました!! ありがとうございます! 勉強になりました。
(ぴっきー)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.