Try this one
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim r, c, u As Integer
r = Target.Row
c = Target.Column
u = ActiveSheet.Cells.SpecialCells(xlLastCell).Row
If c <> 5 And c <> 11 Then Exit Sub
If r > u Then Exit Sub
If c = 5 Then
If VBA.UCase(Range("D" & r)) <> "PENDING" Then Exit Sub
ElseIf c = 11 Then
If VBA.UCase(Range("J" & r)) <> "PENDING" Then Exit Sub
End If
Dim Rng1 As Range
Dim Prompt As String
Dim Title As String
Dim strDate1 As String
Dim Date1 As Date
Prompt = "Enter date formatted: mm/dd/yyyy"
Title = "[Please Enter Date]"
strDate1 = InputBox(Prompt, Title)
On Error Resume Next
Date1 = CDate(strDate1)
If Err <> 0 Or strDate1 = "" Then
Exit Sub
End If
On Error GoTo 0
Target.Value = VBA.Format(Date1, "mm/dd/yyyy")
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 And Target.Column <> 3 And Target.Column <> 8 And Target.Column <> 9 Then Exit Sub
If Target.Column = 2 Or Target.Column = 3 Then
If VBA.UCase(Range("D" & Target.Row)) <> "PENDING" Or Range("E" & Target.Row) <> "" Then Exit Sub
ElseIf Target.Column = 8 Or Target.Column = 9 Then
If VBA.UCase(Range("J" & Target.Row)) <> "PENDING" Or Range("K" & Target.Row) <> "" Then Exit Sub
End If
Dim Prompt As String
Dim Title As String
Dim strDate1 As String
Dim Date1 As Date
Prompt = "Enter date formatted: mm/dd/yyyy"
Title = "[Please Enter Date]"
strDate1 = InputBox(Prompt, Title)
On Error Resume Next
Date1 = CDate(strDate1)
If Err <> 0 Or strDate1 = "" Then
Exit Sub
End If
On Error GoTo 0
If Target.Column = 2 Or Target.Column = 3 Then
Range("E" & Target.Row).Value = VBA.Format(Date1, "mm/dd/yyyy")
ElseIf Target.Column = 8 Or Target.Column = 9 Then
Range("K" & Target.Row).Value = VBA.Format(Date1, "mm/dd/yyyy")
End If
End Sub
Bookmarks