Hi Matt,
Try:
'=============
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim rng2 As Range
Dim res As Long
Dim oldVal As Variant
Dim newVal As Variant
Dim sAdd As String
Dim msg As String
msg = "You can't change Original Booked " & _
"to change the value of Cell "
If Target.Count 1 Then Exit Sub
Set rng = Intersect(Me.Range("C5:H7"), Target)
Set rng2 = Intersect(Me.Range("F92:Q235"), Target)
On Error GoTo XIT
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
If Not rng Is Nothing Then
sAdd = ActiveCell.Address
newVal = Target.Formula
Application.Undo
oldVal = rng.Formula
With rng
If Not IsEmpty(.Value) And newVal < oldVal Then
res = MsgBox( _
Prompt:="Are you sure you want " & _
"to change the value of " & _
"Cell " & rng.Address(0, 0) & "?", _
Buttons:=vbYesNo)
If res = vbNo Then
.Formula = oldVal
Else
.Formula = newVal
End If
Else
.Formula = newVal
End If
End With
If Not res = vbNo Then Me.Range(sAdd).Activate
With Target
.Font.Bold = True
.Interior.ColorIndex = 3
End With
End If
If Not rng2 Is Nothing Then
With rng2
If LCase(Cells(.Row, "B").Value) = "original booked" Then
Application.Undo
MsgBox Prompt:=msg & Target.Address(0, 0), _
Buttons:=vbCritical, _
Title:="Locked Field"
End If
End With
End If
XIT:
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
'<<=============
--
---
Regards,
Norman
"matt4003" wrote in
message ...
Hello Norman,
Thanks for the help. Unfortunately, I am using a range of cells
(F92:Q235) Yes, column "B" is where the "Orig. Booked Quantity"
statement is. How do I make the reference more dynamic?
Thanks,
Matt
--
matt4003
------------------------------------------------------------------------
matt4003's Profile:
http://www.excelforum.com/member.php...fo&userid=9635
View this thread: http://www.excelforum.com/showthread...hreadid=508707