Thanks, following your reply I found my issue was not with this section of code but in another.
targetSheet.Range("B" & M1 + 1 & ":I" & M1 + 1).FormatConditions.Delete
targetSheet.Range("B" & M1 + 1).Value = strZone
targetSheet.Range("B" & M1 + 1 & ":I" & M1 + 1).MergeCells = True
targetSheet.Range("B" & M1 + 1 & ":I" & M1 + 1).Select
targetSheet.Range("B" & M1 + 1 & ":I" & M1 + 1).RowHeight = 21
This section of code above creates a scratch pad area where those values are used to create a new range to check the Worksheet_BeforeDoubleClick function.
If the code above skips an input then the code below cannot complete the " If Not Application.Intersect(Target, Range" ...ranges and errors out.
I need to rework the code below to account for any missing entries created by the code above.
I'll do some more research to clean my the code I currently have and post it to see if other eyes can optimize it.
Thanks again
Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set ws = Sheets("EPB")
With ws
Na = "I" & ws.Range("M1").Value & ":I" & ws.Range("N1").Value
Nb = "I" & ws.Range("M2").Value & ":I" & ws.Range("N2").Value
Nc = "I" & ws.Range("M3").Value & ":I" & ws.Range("N3").Value
Nd = "I" & ws.Range("M4").Value & ":I" & ws.Range("N4").Value
Ne = "I" & ws.Range("M5").Value & ":I" & ws.Range("N5").Value
Nf = "I" & ws.Range("M6").Value & ":I" & ws.Range("N6").Value
Ng = "I" & ws.Range("M7").Value & ":I" & ws.Range("N7").Value
Nh = "I" & ws.Range("M8").Value & ":I" & ws.Range("N8").Value
Ni = "I" & ws.Range("M9").Value & ":I" & ws.Range("N9").Value
Nj = "I" & ws.Range("M10").Value & ":I" & ws.Range("N10").Value
Nk = "I" & ws.Range("M11").Value & ":I" & ws.Range("N11").Value
Nl = "I" & ws.Range("M12").Value & ":I" & ws.Range("N12").Value
Nm = "I" & ws.Range("M14").Value & ":I" & ws.Range("N14").Value
Nn = "I" & ws.Range("M15").Value & ":I" & ws.Range("N15").Value
Np = "I" & ws.Range("M16").Value & ":I" & ws.Range("N16").Value
Nq = "I" & ws.Range("M17").Value & ":I" & ws.Range("N17").Value
Nr = "I" & ws.Range("M18").Value & ":I" & ws.Range("N18").Value
Ns = "I" & ws.Range("M19").Value & ":I" & ws.Range("N19").Value
Nx = "I" & ws.Range("M20").Value & ":I" & ws.Range("N20").Value
Nz = "I" & ws.Range("M21").Value & ":I" & ws.Range("N21").Value
End With
With Target
If Not Application.Intersect(Target, Range(Na & ", " & Nb & ", " & Nc & ", " & Nd & ", " & Ne & ", " & Nf & ", " & Ng & ", " & Nh & ", " & Ni & ", " & Nj & ", " & Nk & ", " & Nl & ", " & Nm & ", " & Nn & ", " & Nq & ", " & Np & ", " & Nr & ", " & Ns & ", " & Nx & ", " & Nz)) Is Nothing Then
Cancel = True
.Value = IIf(.Text = "IN", "OUT", "IN")
If .Value = "IN" Then
' do something
With .Interior
.ColorIndex = 4
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Else
' do something else
With .Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End If
End If
End With
Application.ScreenUpdating = True
End Sub
Bookmarks