vba - How to check if a cell is invalid, and set a default value if it's invalid? -
i have cell has named range list validation. want this: check if current contents of cell violate validation, , if so, set cell first value in named range list. here's i've tried far:
private sub defaultifinvalid(rng range) dim formula string formula = rng.validation.formula1 formula = mid(formula, 2) 'remove equal sign on front if range(formula).find(rng.value) nothing rng.value = range(formula)(1).value end if end sub
but line:
if range(formula).find(rng.value) nothing
gives following error:
method 'range' of object '_worksheet' failed
how can perform check/setting default?
edit: if it's helpful, validation dynamic formula selects several different named ranges based on contents of 1 of cells. formatted here clarity:
=if('on-call search form'!$c$6="on-call contact",oncallgroup, if(or('on-call search form'!$c$6="district", 'on-call search form'!$c$6="division"), regionalgroup,functiongroup))
oncallgroup
, regionalgroup
, , functiongroup
static ranges, e.g., oncallgroup
is:
=selections!$s$2:$s$7
as follow comments, 1 works:
dim formula string dim rngnew range formula = rng.validation.formula1 set rngnew=evaluate(formula) if rngnew.find(rng.value) nothing 'do end if
Comments
Post a Comment