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











LinkBack URL
About LinkBacks
Register To Reply

Bookmarks