Hi everyone,
I have a worksheet event that seems to be interfering with the functionality of a macro.
The macro is used for adding a specific number of new records based on the number value of a cell on the worksheet. Without the worksheet event code in place, the add record macro functions flawlessly. With it, no matter how many records are selected to be created, only one is created.
The worksheet even watches a specific cell on each row and locks and unlocks cells in the same row when the value of the watched cell changes based on 5 different possible settings. Other than it interefering with the macro functionality, it too works flawlessly otherwise.
I've been trying everything I can think of but I can't get the two to play nice together. The worksheet event code and the macro code are below. Can anyone tell me why this is happening and what I can do to fix it?
Thanks, very much!
Worksheet Event Code
Private Sub Worksheet_Change(ByVal Target As Range)
'
If Not Intersect(Target, Range("Case_Entry")) Is Nothing Then
Dim cell As Range
Unprotect Password:=""
For Each cell In Intersect(Target, Range("Case_Entry"))
Select Case cell.Value
Case "EOH Case"
cell.Offset(0, 5).Locked = False 'Column Z
cell.Offset(0, 6).Locked = False 'Column AA
cell.Offset(0, 7).Locked = True 'Column AB
cell.Offset(0, 8).Locked = True 'Column AC
cell.Offset(0, 9).Locked = True 'Column AD
Case "EOH Enq"
cell.Offset(0, 5).Locked = False 'Column Z
cell.Offset(0, 6).Locked = False 'Column AA
cell.Offset(0, 7).Locked = True 'Column AB
cell.Offset(0, 8).Locked = True 'Column AC
cell.Offset(0, 9).Locked = True 'Column AD
Case "Brochure"
cell.Offset(0, 5).Locked = True 'Column Z
cell.Offset(0, 6).Locked = True 'Column AA
cell.Offset(0, 7).Locked = False 'Column AB
cell.Offset(0, 8).Locked = False 'Column AC
cell.Offset(0, 9).Locked = False 'Column AD
Case ""
cell.Offset(0, 5).Locked = False 'Column Z
cell.Offset(0, 6).Locked = False 'Column AA
cell.Offset(0, 7).Locked = False 'Column AB
cell.Offset(0, 8).Locked = False 'Column AC
cell.Offset(0, 9).Locked = False 'Column AD
Case "Case"
cell.Offset(0, 5).Locked = True 'Column Z
cell.Offset(0, 6).Locked = True 'Column AA
cell.Offset(0, 7).Locked = True 'Column AB
cell.Offset(0, 8).Locked = True 'Column AC
cell.Offset(0, 9).Locked = True 'Column AD
Case Else
cell.Offset(0, 5).Locked = False 'Column Z
cell.Offset(0, 6).Locked = False 'Column AA
cell.Offset(0, 7).Locked = False 'Column AB
cell.Offset(0, 8).Locked = False 'Column AC
cell.Offset(0, 9).Locked = False 'Column AD
End Select
Next cell
'
Protect Password:=""
End If
'
End Sub
Macro Code
Sub Insert_New_Case_Record_Using_Filter_Row_1()
'
' Insert_New_Case_Record_Using_Filter_Row_1
'
Dim wsh As Worksheet
Dim rng As Range
Dim i As Long
Dim iRet1 As Integer
Dim strPrompt1 As String
Dim strTitle1 As String
'
'
'
Application.ScreenUpdating = False
'
Set wsh = Worksheets("Cases")
On Error Resume Next
wsh.Unprotect Password:=""
'
Range("Q14:X19").Select
Selection.ClearContents
'
Range("14:19").EntireRow.Hidden = True
ActiveSheet.Range("$T$13:$Z$13").Name = "Criteria"
'
strPrompt1 = "Please select the number of new records to be created from Q4."
strTitle1 = "Record Creation Error"
'
If Range("Q4") < 1 Then
iRet1 = MsgBox(strPrompt1, vbOKOnly, strTitle1)
If iRet1 = vbOKOnly Then
Exit Sub
End If
End If
'
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If
ElseIf ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If
'
For i = 1 To Range("Q4")
Range("21:21").Copy
Range("25:25").Select
Selection.Insert Shift:=xlDown
Range("Q13:S13").Copy
Range("Q25:S25").PasteSpecial xlPasteValues
Range("U13:X13").Copy
Range("U25:X25").PasteSpecial xlPasteValues
Next i
'
'
Range("DataRows").EntireRow.Hidden = False
'
Range("24:24").EntireRow.Hidden = True
'
Range("Q4").Value = 1
'
wsh.Protect Password:=""
'
Range("Q25").Select
'
Application.ScreenUpdating = True
'
End Sub
Bookmarks