Excel 带有负行引用的R1C1格式结果为#REF!电子表格中的错误
VBA中的此公式:Excel 带有负行引用的R1C1格式结果为#REF!电子表格中的错误,excel,vba,Excel,Vba,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"
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(相对寻址“on”),它可以正常工作。但每当VBA输入公式时,我都会得到这些#REF!错误。似乎是这些-6行引用。(-6是有效列(“1”)。出现此问题的原因是将公式插入到第1行的单元格中
R[-1]C[-6]
指的是放置公式的单元格上方一行和左侧6个单元格,因此,当公式放置到第1行时,这意味着它引用的是第0行中的单元格,这是无效的。这会导致#REF代码>错误,即使您向下移动单元格(例如,通过在其上方插入标题行),也会出现#REF代码>无法更正,因为Excel不再知道它的意思
解决方案是确保最初放置公式的单元格是公式实际有效的单元格 出现问题的原因是将公式插入到第1行的单元格中
R[-1]C[-6]
指的是放置公式的单元格上方一行和左侧6个单元格,因此,当公式放置到第1行时,这意味着它引用的是第0行中的单元格,这是无效的。这会导致#REF代码>错误,即使您向下移动单元格(例如,通过在其上方插入标题行),也会出现#REF代码>无法更正,因为Excel不再知道它的意思
解决方案是确保最初放置公式的单元格是公式实际有效的单元格 您确定活动单元格不在第1行吗?放置公式后是否移动数据?放置公式后是否删除行?您肯定没有将公式放入第1行?(即试图引用第0行?)我应该说:我可以手动修改forumla(相对寻址“on”),它可以工作。但每当VBA输入公式时,我都会得到这些#REF!错误。这似乎是这些-6列参考。(-6是有效列(“1”)。公式位于第7列。当“相对寻址”处于启用状态时,第1列为A列。在放置公式后,我不会移动或删除列、行或单元格。当您看到#REF代码>?向上一行,左六列。第1栏(“A”)。VBA从第2行开始在同一列和几行中复制公式。是否确定活动单元格不在第1行?放置公式后是否移动数据?放置公式后是否删除行?您肯定没有将公式放入第1行?(即试图引用第0行?)我应该说:我可以手动修改forumla(相对寻址“on”),它可以工作。但每当VBA输入公式时,我都会得到这些#REF!错误。这似乎是这些-6列参考。(-6是有效列(“1”)。公式位于第7列。当“相对寻址”处于启用状态时,第1列为A列。在放置公式后,我不会移动或删除列、行或单元格。当您看到#REF代码>?向上一行,左六列。第1栏(“A”)。VBA从第2行开始,在同一列和几行中复制公式。