[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『エクセルを開いた時に、本日の日付に色』(ぽんず)
シート1のD列に日付が入っていきます。
途中空白もあります。データが入っているのはD3セルからです。
2019/6/13
2019/6/20
2019/6/11
2019/6/21
2019/6/11
ワークシートを開いた時に今日の日付以降(期限切れ)の背景色を赤にしたいです。
関数や条件付き書式ではなくVBAで行いたいのですがお力を貸していただけますでしょうか。初心者です。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
>条件付き書式ではなく
よろしければ、その理由を教えていただけますか。
(マナ) 2019/06/11(火) 19:20
>操作者が複数おり、意図しない箇所に条件がコピペされているようです。
では、こんなマクロにしてはどうでしょうか。
1)対象シートの条件付き書式をクリア
2)D列に、条件付き書式設定
これを、Workbook_openに記述し、起動時に実行させる
コードがわからなければ、「マクロの記録」を利用するとよいです。
(マナ) 2019/06/12(水) 19:30
1 D列
2 2019/5/30
3 2019/5/27
4 2019/6/11
5
6 2019/6/24
7 2019/6/12
8
9 2019/6/18
数式が
=$D3-1<=TODAY()
このように指定したところ、D列のすべての空白セルに色がついてしまい、
5/27のみがなぜか無色になってしまいました。
(ぽんず) 2019/06/12(水) 22:48
(マナ) 2019/06/13(木) 18:32
Private Sub Workbook_Open()
ActiveWindow.ScrollRow = 1
Range("A6").AutoFilter 23, xlFilterToday, xlFilterDynamic
Range("W7", Cells(Rows.Count, 23).End(xlUp)).Select
Selection.Interior.ColorIndex = 18
Range("W7").AutoFilter Field:=7
If (ActiveSheet.AutoFilterMode = False) Then
Exit Sub
End If
ActiveSheet.Range("W7").AutoFilter
If (ActiveSheet.AutoFilterMode = True) Then
Exit Sub
End If
Range("A6:Z6").AutoFilter
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
End Sub
(ぽんず) 2019/06/13(木) 22:18
Private Sub Workbook_Open() Dim ws As Worksheet
Set ws = Sheet1
ws.Cells.FormatConditions.Delete With ws.Columns("W") .FormatConditions.Add Type:=xlExpression, Formula1:="=AND(rc<>"""",rc<=TODAY())" .FormatConditions(1).Interior.ColorIndex = 18 End With
End Sub
(マナ) 2019/06/14(金) 22:12
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.