excel - Run-time error '1004': Method 'Intersect' of object' _Global' failed -


i'm still new @ , trying find answer. maybe it's not defined correctly or @ all. maybe it's not pointing correct work sheet. i'm not sure... appreciated! thanks!

getting error on line:

set inte = intersect(a, target)

error code is:

run-time error '1004': method 'intersect' of object'_global' failed

full code:

private sub worksheet_change(byval target range)  'determine target colunm   if target.column = 10  'check "td", copy/delete row if found    if target = "td"      application.enableevents = false        nxtrow = sheets("td locks").range("j" & rows.count).end(xlup).row + 1        target.entirerow.copy _          destination:=sheets("td locks").range("a" & nxtrow)        target.entirerow.delete        application.enableevents = true         exit sub    end if    'check "closed", copy/delete row if found    if target = "closed"      application.enableevents = false        nxtrow = sheets("closed locks").range("j" & rows.count).end(xlup).row + 1        target.entirerow.copy _          destination:=sheets("closed locks").range("a" & nxtrow)        target.entirerow.delete        application.enableevents = true    end if   end if    'adds date when borrower name entered      dim range, b range, inte range, r range      set = range("c:c")      set inte = intersect(a, target)      if inte nothing exit sub      application.enableevents = false          each r in inte              if r.offset(0, 8).value = ""                 r.offset(0, 8).value = date              end if          next r      application.enableevents = true  end sub

there's "devil touch" in code since if user types "closed" in column "j" of sheet in module you're placing event handler, deletes target row (target.entirerow.delete), leaving target unreferenced , preparing ground throwing error in subsequent use of target, happens in set inte = intersect(a, target)

but if correctly read code, shouldn't happen since latter line gets done should target cross column "c", can't if it's in column "j"!.

if above correct may want use code following

option explicit  private sub worksheet_change(byval target range) dim nxtrow long dim inte range, r range  application.enableevents = false  target     'determine target colunm     if .column = 10          'check "closed", copy/delete row if found         if .value = "closed"             nxtrow = sheets("closed locks").range("j" & rows.count).end(xlup).row + 1             .entirerow.copy _             destination:=sheets("closed locks").range("a" & nxtrow)             .entirerow.delete          elseif target = "td"             'check "td", copy/delete row if found             nxtrow = sheets("td locks").range("j" & rows.count).end(xlup).row + 1             .entirerow.copy _             destination:=sheets("td locks").range("a" & nxtrow)             .entirerow.delete         end if      else          'adds date when borrower name entered         set inte = intersect(.cells, .parent.range("c:c"))         if not inte nothing             each r in inte                 if r.offset(0, 8).value = "" r.offset(0, 8).value = date             next r         end if      end if end  application.enableevents = true  end sub 

Comments