Hi XLD,
Sorry for the slow reply; I wasn't able to get back to this until this evening. First, thank you so much for the help you've provided me on this, this was greatly appreciated!
I think I have this code pretty much working though seems to have a few quirks to smooth out.
I changed the function to a sub (the idea on why a function was a little lost on me, I didn't know how to call it) and created just one button, as you suggested, to assign the macro to it. From this code I created 2 macros; one for the to enter in the current date on the main sheet in the BPO Complete column (assigned to one button labeled "Mark as Done") and one to just put an asterisk (*) in column CS on the main Task Flow tab, to just temporarily remove it from the list and postpone or delay action. The 2nd macro is assigned to another button labeled "Postpone".
I followed your suggestion to display a msgbox to have the user confirm; however on the first macro I put a 2nd msgbox for one more prompt (or msg) to alert that the property will be removed from the page. This seems to work fine and when I hit No to the first msgbox, the macro aborts. If I hit yes, the 2nd msgbox comes up but to this one, the macro runs its course and marks the task as complete whether I hit Yes or Cancel? I take it I did something wrong here or can't have the back to back msgboxes? The second macro assigned to the "Postpone" button seems to work fine, though there is only one msgbox prompt for this one.
Another issue I'm having is sometimes when I click anywhere, whether it's on the main tab or the AM1 tab, the macro still wants to run, regardless of whether I executed the macro or not. I believe it's because of the code I have in the main Wkbk module ('ThisWorkbook') for sheet selection change event to recalculate. I have this set up to use in conjunction with conditional formatted where the active row is highlighted. The strange thing is, is that this behavior is intermittent?
Also, can this code be amended so that it only works if a row somewhere in the table is selected? Rather than clicking on blank space anywhere on the page?
Below is the amended code I have thus far:
Sub BPOCompleted()
Dim BPO_Cpl As Long
Dim property As String
property = ActiveSheet.Cells(ActiveCell.Row, "E").Value
If MsgBox("Mark " & property & "as complete?", vbYesNo + vbExclamation) = vbNo Then Exit Sub _
Else If MsgBox("Property will be removed from this page.", vbOKCancel) = vbCancel + vbNo Then Exit Sub
With ActiveSheet
If .Cells(ActiveCell.Row, "B").Value <> "" Then
On Error Resume Next
BPO_Cpl = Application.Match(.Cells(ActiveCell.Row, "B").Value, Worksheets("Task Flow").Columns("A"), 0)
On Error GoTo 0
If BPO_Cpl > 0 Then
Worksheets("Task Flow").Cells(BPO_Cpl, "AS").Value = Date
End If
End If
End With
End Sub
Sub BPOComplete_Postpone()
Dim BPO_Cpl As Long
Dim property As String
property = ActiveSheet.Cells(ActiveCell.Row, "E").Value
If MsgBox("Click ""OK"" to delay action and remove " & property & "from this list.", vbOKCancel) = vbCancel Then Exit Sub _
With ActiveSheet
If .Cells(ActiveCell.Row, "B").Value <> "" Then
On Error Resume Next
BPO_Cpl = Application.Match(.Cells(ActiveCell.Row, "B").Value, Worksheets("Task Flow").Columns("A"), 0)
On Error GoTo 0
If BPO_Cpl > 0 Then
Worksheets("Task Flow").Cells(BPO_Cpl, "CS").Value = "*"
End If
End If
End With
End Sub
Any more thoughts, ideas or suggestions would be greatly appreciated! Thanks again!