By cndesu ar ddydd Mawrth, 25 Mehefin 2019
Postiwyd yn Excel
atebion 0
hoff bethau 0
barn 3.8K
Pleidleisiau 0
Heia,

Rwy'n adeiladu llinyn o gysonion a newidynnau amrywiol. Y llinyn hwn yr wyf yn ei werthuso gan ddefnyddio'r newidyn a enwir a hefyd yn ôl swyddogaeth VBA. Ond ni weithiodd yr un ohonynt. Mae un yn rhoi gwall #REF i mi a'r llall #VALUE gwall.

Adeiladais y llinyn fel hyn =AC20 & AC18 mewn cell AC24 ac mae'r allbwn fel hyn 'G: \ Crush \ Adroddiadau planhigion dyddiol \ 2019 \ [05-2019.xls]C vol'!$F$35

Yn y rheolwr enw, creais swyddogaeth fel hyn =EVALUATE('C vol'!$AC$24) a enwais fel Eval

Mewn cell arall, galwais Eval ac mae'n dangos gwall #REF.

Ysgrifennais swyddogaeth yn VBA fel hyn
Swyddogaeth Gyhoeddus myEvaluate(aString) Fel Amrywiad
Ar Ail-ddechrau Gwall Nesaf
Cais.Volatile
myEvaluate = Gwerthuso(aString)
Ar Gwall Ewch i 0
Swyddogaeth End

Mewn cell arall, galwais y swyddogaeth hon fel = myEvaluate(AC24) sy'n rhoi gwall #VALUE i mi.

Felly dim syniad ble mae'r camgymeriad mewn cystrawen.
Gweld y Post Llawn