ユーザーが日付を入力できるようにするVBAコードがあり、入力した日付を現在の値と比較すると、適切な色でセルを埋めるために、 ケースステートメントを選択してください。ケースステートメントを使用して現在のデータ+ 10日間を比較するVBAコード
セルを赤で塗りつぶす必要があります。ユーザーは今日の日付+10日を入力します。
どのようにすればよいですか?
コード
Private Sub CommandButton1_Click()
Dim i As Integer
Dim objDate As Date
MsgBox (objDate)
For i = Range("C5000").End(xlUp).Row To 2 Step -1 'Range upto 5000, chnge this as per your requirment'
objDate = Date
Select Case VBA.CDate(Cells(i, 3))
Case IsEmpty(i)
Cells(i, 3).Interior.ColorIndex = 0
Case Is < VBA.Date()
Cells(i, 3).Interior.Color = vbGreen
Case Is = VBA.Date()
Cells(i, 3).Interior.Color = vbYellow
Case Is > VBA.Date()
Cells(i, 3).Interior.Color = vbRed
End Select
Next
End Sub
なぜ宣言の後に 'MsgBox'の権利がありますかation?それには値は含まれません。日付と数字は0で初期化されます。したがって、00:00:00と表示されます。そして 'objDate'の目的は何ですか?あなたはコード内のどこでも使用しません。オーバーヘッドに追加するのは、ループ内で同じ値を割り当てるためです。 – Mahesh