私は、顧客が支払いを行った時期と遅れた時期を示すExcelシートを作成しています。友人の助けを借りて、私はセルの赤を強調表示して顧客が期日を過ぎているかどうかを教えてくれる数式を思いついた。Excelで日付値を使用してVBAで条件付き書式を適用する
私が見た限りでは、空白のセルを「LATE」に変更するための条件付き書式設定を行う方法はないため、VBAを試してみることを提案しました。
色を変更して必要な単語を追加できましたが、条件付き書式設定のような日付をVBAで確認する方法はありますか?ここで
式と私は私のVBAシートに持っている:式
=AND(ISBLANK(B1),NOT(ISBLANK(B$1)),NOT(ISBLANK($A1)),DATE(YEAR($A1),MONTH($A1),DAY(B$2))<TODAY(),B$2<TODAY())
VBA
Const FORMATTED_RANGE As String = "$B:$ZY"
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range(FORMATTED_RANGE)) Is Nothing Then Exit Sub
Dim cellColor As Long
Application.EnableEvents = False
Select Case Len(Target.Value)
Case ISBLANK
Target.Value = "LATE"
Target.Interior.Color = vbRed
Case Is <> 0
Target.Value = "PAID"
Target.Interior.ColorIndex = 10
End Select
Application.EnableEvents = True
End Sub
私は私がオンラインで見つけるいくつかのコードを使用
(感謝Rolf Jaeger from nullskull.com)これのために、私はそこにすべてが必要な場合私は100%ではないが、そうだうまく動作するように、私はVBAについてもっと学ぶまで、今は残しました。
= = AND(ISBLANK(B1)、NOT(ISBLANK(B $ 1))、...........あなたは 'B1' cannoとして' FALSE'を返します同時に空白で非空白にしてください。サンプルデータも提供できますか? – Mrig
私はvbaを推奨しません。ドル記号($)を使用する通貨形式のような条件付き書式で数値書式を試すことができます。ドル記号の代わりに 'LATE'という単語を...;) – Rosetta
このような種類の書式設定を行うためにVBAを使用すると、ワークシートのクロール速度が遅くなるため、VBAを使用することはありません – Rosetta