1
この式でエラー:セル内でこの式でR1C1形式の負の行参照結果は#REF! VBAでのスプレッドシート
ActiveCell.FormulaR1C1 = _
"=IF(RC[-6]=""ADD"",CONCATENATE(""QUIET "",RC[-6],"" "",RC[-5],"" "",RC[-4],"" "",RC[-3],"" "",RC[-2]),IF(RC[-6]=""DEL"",CONCATENATE(""QUIET "",RC[-6],"" "",RC[-5],"" "",RC[-4]),IF(OR(**R[-1]C[-6]**=""ADD"",**R[-1]C[-6]**=""DEL""),""//FacultyAG EOJ"","""")))"
結果:
=IF(RC[-6]="ADD",CONCATENATE("QUIET ",RC[-6]," ",RC[-5]," ",RC[-4]," ",RC[-3]," ",RC[-2]),IF(RC[-6]="DEL",CONCATENATE("QUIET ",RC[-6]," ",RC[-5]," ",RC[-4]),IF(OR(**#REF!**="ADD",**#REF!**="DEL"),"//FacultyAG EOJ","")))
私は手動(「オン」相対アドレッシング)forumlaを変更することができ、それが動作します。しかし、VBAが形式的なものを置くときはいつでも、私はこれらの#REFを手に入れます!エラー。これらの-6行の参照のようです。 (-6有効な列(「1」)である。)
アクティブセルが1行目に入っていませんか?数式を配置した後にデータを移動しますか?数式を配置した後に行を削除しますか? –
あなたは間違いなく数式を1行目に入れませんか? (つまり、行0を参照しようとしていますか?) – YowE3K
私は言っておくべきです:私は手動でforumla(相対アドレス指定 "on")を変更することができ、それは動作します。しかし、VBAが形式的なものを置くときはいつでも、私はこれらの#REFを手に入れます!エラー。これらの-6列の参照のようです。 (6は有効な列( "1")です)式は列7にあります。相対アドレス指定がオンの場合の列1は列Aです。式を配置した後に列、行またはセルを移動または削除しません。 –