Excel 公式的单元格引用未从RC格式转换为A1格式
我可以找到很多关于实际执行转换的信息,但我有一个循环,它由一个if语句和20个潜在公式组成,以:Excel 公式的单元格引用未从RC格式转换为A1格式,excel,vba,Excel,Vba,我可以找到很多关于实际执行转换的信息,但我有一个循环,它由一个if语句和20个潜在公式组成,以: ElseIf f = "weightVolume" Then Range(Cells(2, e), Cells(lastRow, e)).Formula = _ "=IFERROR(VLOOKUP(CONCATENATE(RC1,RC2,SUBSTITUTE(R1C,LEFT(R1C,SEARCH(""_"",R1C)),"""")),Transfor
ElseIf f = "weightVolume" Then
Range(Cells(2, e), Cells(lastRow, e)).Formula = _
"=IFERROR(VLOOKUP(CONCATENATE(RC1,RC2,SUBSTITUTE(R1C,LEFT(R1C,SEARCH(""_"",R1C)),"""")),Transform!C8:C26,19,FALSE),"""")"
ElseIf f = "Location" Then
Range(Cells(2, e), Cells(lastRow, e)).Formula = _
"=IFERROR(VLOOKUP(CONCATENATE(RC1,RC2),Transform!C1:C28,29,FALSE),""Unhandled Error"")"
Else
Range(Cells(2, e), Cells(lastRow, e)).Value = "Unhandled Error"
End If
上述19种配方都很有魅力,在表格中显示为:
=IFERROR(VLOOKUP(CONCATENATE($A2,$B2,SUBSTITUTE(KH$1,LEFT(KH$1,SEARCH("_",KH$1)),"")),Transform!$H:$Z,19,FALSE),"")
=IFERROR(VLOOKUP(CONCATENATE(RC1,RC2),Transform!C1:C28,29,FALSE),"Unhandled Error")
但最后一个将作为:
=IFERROR(VLOOKUP(CONCATENATE($A2,$B2,SUBSTITUTE(KH$1,LEFT(KH$1,SEARCH("_",KH$1)),"")),Transform!$H:$Z,19,FALSE),"")
=IFERROR(VLOOKUP(CONCATENATE(RC1,RC2),Transform!C1:C28,29,FALSE),"Unhandled Error")
我一辈子都搞不明白为什么要用以下公式输入最终公式:
RC1,RC2
有人遇到过类似的情况吗?我是否以某种方式修改了最后一个公式中的语法
我已经盯着这个看了一个半小时了,我一辈子都不明白发生了什么。当使用R1C1符号中的公式时,你应该使用
公式1C1
,而不是公式
i、 e.使用:
ElseIf f = "weightVolume" Then
Range(Cells(2, e), Cells(lastRow, e)).FormulaR1C1 = _
"=IFERROR(VLOOKUP(CONCATENATE(RC1,RC2,SUBSTITUTE(R1C,LEFT(R1C,SEARCH(""_"",R1C)),"""")),Transform!C8:C26,19,FALSE),"""")"
ElseIf f = "Location" Then
Range(Cells(2, e), Cells(lastRow, e)).FormulaR1C1 = _
"=IFERROR(VLOOKUP(CONCATENATE(RC1,RC2),Transform!C1:C28,29,FALSE),""Unhandled Error"")"
Else
Range(Cells(2, e), Cells(lastRow, e)).Value = "Unhandled Error"
End If
当使用
公式
输入公式时,Excel有时会发现它是用R1C1符号而不是A1符号编写的,并将相应地进行转换。但有时,由于存在可以在任何一种表示法中正确处理的引用(例如您的C1:C28
),它会对您使用的表示法进行“猜测”。如果您在R1C1表示法中输入公式,请使用FormulaR1C1
,而不是Formula
。否则Excel必须猜测您在做什么,并且C1:C28
可能会让它认为最后一个公式是A1符号。这可能取决于它在做出决定时所采用的方式。或者,这可能是基于是否有更多的东西看起来像R1C1-ish而不是A1-ish。如果你可以提交一个答案,这只是我的代码中添加了“R1C1”的一部分,我可以对其进行投票,将其标记为答案,并默默感谢你教我2之间的血腥区别。干杯