title: Multiple Range Intersect in excel VBA
body: <p>Why does this not work?
  I'm trying to get excel to check for any changes in column B and D if column B has changed then do some actions and so on.</p>
  
  <pre><code>Private Sub Worksheet_Change(ByVal Target As Range)
  Dim lc As Long
  Dim TEMPVAL As String
  Dim ws1, ws2 As Worksheet
  Dim myDay As String
  Set ws1 = ThisWorkbook.Sheets("Lists")
  myDay = Format(myDate, "dddd")
  If Intersect(Target, Range("B:B")) Is Nothing Then Exit Sub
  If Target = "" Then Exit Sub
  MsgBox "Row: " &amp; Target.Row &amp; "Column: " &amp; lc
  With Application
    .EnableEvents = False
    .ScreenUpdating = False
      Cells(Target.Row, lc + 1) = Target.Row - 1
      Cells(Target.Row, lc + 3) = Format(myDate, "dd-MMM-yyyy")
      Cells(Target.Row, lc + 4) = Application.WorksheetFunction.VLookup(Target, ws1.Range("A2:C29").Value, 3, False)
      Cells(Target.Row, lc + 5) = 7.6
      Cells(Target.Row, lc + 7) = Application.WorksheetFunction.VLookup(Target, ws1.Range("A2:C29").Value, 2, False)
      Cells(Target.Row, lc + 8) = myDay
      Cells(Target.Row, lc + 10) = WORKCODE(Target.Row, lc + 4)
    .EnableEvents = True
    .ScreenUpdating = True
  End With
  If Intersect(Target, Range("D2:D5002")) Is Nothing Then Exit Sub
  If Target = "" Then Exit Sub
  MsgBox "Row: " &amp; Target.Row &amp; "Column: " &amp; lc
  With Application
    .EnableEvents = False
    .ScreenUpdating = False
      Cells(Target.Row, lc + 10) = WORKCODE(Target.Row, lc + 4)
    .EnableEvents = True
    .ScreenUpdating = True
  End With
  End Sub
  </code></pre>
  
  <p>Excel run the first intersec and exit the sub.
  why doesnt it run the second intersect?
  Thanks in Advance</p>