OK so lots of trial and error later, i have managed to do it..
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cell As Object
For Each Cell In Range("D2:D2")
If Cell.Value = "Clear Sheet" Then
If MsgBox("Are you sure you want to clear all data?", vbYesNo, "Clear data...") = vbYes Then
Sheets("Hours").unprotect Password = "temp"
Worksheets("Hours").Range("D7:O59").ClearContents
Worksheets("Hours").Range("D2").Value = "Options..."
Sheets("Hours").Protect Password = "temp"
Exit Sub
Else
End If
Worksheets("Hours").Range("D2").Value = "Options…"
Else
If Cell.Value = "Save" Then
MsgBox "SAVING"
Else
If Cell.Value = "Save & Email" Then
MsgBox "SAVING AND EMAILING"
Else
If Cell.Value = "Print" Then
MsgBox "PRINTING"
Else
End If
End If
End If
End If
Next Cell
End Sub
BUTTTTTTTT
When i ask it to change cell D2 back to "Options..." it sees the cell has changed, and just runs the macro again!
Anyway of bypassing it?
Bookmarks