[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『EXCEL2013作成カレンダー。赤文字の入ったセル数をカウントしたい.』(70の手習い)
社員勤務のシフト表カレンダーを、EXCEL2013で作ろうとしています(BOX型)。
作ったカレンダーは、給与が20日締めですから、毎月21日始まり、20日終了の形式です。
祝祭日と日曜日の日にちは、赤文字で表示してあります。ここまでの作業は、「条件付き書式」を用いました。
次に、月間総労働時間を算出するために、該当のセル範囲(G20:S20)の中から、労働時間から除外すべき日数=【『赤文字で表示した祝祭日と日曜日』が入った(セルの数)】を、カウントし、例えば、セルE26に、=○○(G20:S20,3)の形式を用いて表示させたいと思います。VBAを使いたいのですがうまく作れません。ご教授下さい。
《整理》
1.セル範囲(G20:S20)中の月間総労働時間を算出したい。
2.労働時間から除外すべき祝祭日と日曜日は、赤文字で表記させている。
3.この赤文字の入ったセル数をカウントしたい。
4.表示形式は、=○○(G20:S20,3)
5.VBAを使いたい。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
>4.表示形式は、=○○(G20:S20,3)
1.VBAを使いたいと言っても、結局、セルには数式を入れるんですよね?
なら、初めから数式だけで出来ると思うんですけど、 ※この条件付き書式の条件が明示されればの話ですが・・ ↓ >祝祭日と日曜日の日にちは、赤文字で表示してあります。 >ここまでの作業は、「条件付き書式」を用いました
2.条件付き書式の条件成就状況を調べるのは結構大変ですから、 多分、条件付き書式の条件から逆算してVBA作ることになるので、 詰まんないコードになる公算が高いです。
(つまり、本当に色を調べるコードにする訳じゃない)
(半平太) 2017/09/27(水) 14:00
2010以降なのでユーザー定義関数にせず、VBAだけで色を付けるならばDisplayFormatプロパティが使えないか? (ねむねむ) 2017/09/27(水) 14:29
訂正 >色を付けるならば ↓ >色を判断するならば (ねむねむ) 2017/09/27(水) 14:35
G20:S20 13セル数 21-20出勤日の出勤時間どの様に入れるのでしょうか
フォーマットに無理がありそうですが
(++) 2017/09/27(水) 14:48
Sub Chr_Color()
Dim n As Long Dim T_Cell As Range n = 0 For Each T_Cell In ActiveSheet.UsedRange If T_Cell.Font.ColorIndex = 3 Then n = n + 1 Next
Range("A1") = n
End Sub
これで、A1セルにFont.ColorIndexが3(赤色)の数を表示するようです。
色が違う場合はこの3を変更してください。
(オーパスワン) 2017/09/29(金) 11:21
>祝祭日と日曜日の日にちは、赤文字で表示してあります。ここまでの作業は、「条件付き書式」を用いました。 とフォントの色を条件付き書式でおこなっているならば T_Cell.Font.ColorIndex を T_Cell.DisplayFormat.Font.ColorIndex に。 (ねむねむ) 2017/09/29(金) 11:33
Sub Chr_Color()
Dim n As Long Dim T_Cell As Range
n = 0 For Each T_Cell In ActiveSheet.Range("D20", "S20") If T_Cell.DisplayFormat.Font.ColorIndex = 3 Then n = n + 1 Next
Range("E26") = n
End Sub
(オーパスワン) 2017/09/29(金) 17:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.