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
Post a Comment