混合R1C1和A1符号

通过在R1C1格式中应用正常的excel公式来挣扎,所以我可以在VBA中循环公式。 问题是如何使用R1C1表示法引用其他表中的列。 所以在下面的公式中:

ell.Offset(0, 5).FormulaR1C1 = "=IF(LEN(R[]C[-2])>0,(R[]C[-2])*VLOOKUP([R[]C[1]),Core!A:C,3,FALSE)/_ VLOOKUP(R[]C[-1],Core!A:C,3,FALSE),R[]C[4])" 

如何获得Core!A:C转换为R1C1格式? 我知道你不能混用这两种格式,但恐怕我不知道这个语法! 任何帮助表示赞赏!

编辑:

 Sub Expo_dos_Formulas() '=============================================================================== Sheets("Data_Sheet").Activate For Each cell In Range("G5:G500") If cell <> "Error" Then cell.Offset(0, 5).FormulaR1C1 = "=IF(LEN(R[]C[-2])>0,_ (R[]C[-2])*VLOOKUP([R[]C[1]),Core!RC1:RC3,3,FALSE)/VLOOKUP(R[]C[-1],_ Core!RC1:RC3,3,FALSE),R[]C[4])" End If Next '=============================================================================== End Sub 

代替A:CC1:C3

 ell.Offset(0, 5).FormulaR1C1 = "=IF(LEN(RC[-2])>0,(RC[-2])*VLOOKUP(RC[1],Core!C1:C3,3,FALSE)/_ VLOOKUP(RC[-1],Core!C1:C3,3,FALSE),RC[4])" 

当使用R1C1时:

  1. []将表示相对非绝对参考。 例如, RC[-1]指的是直接在左边的单元格。

  2. 如果需要绝对引用,则不要使用[] ,它将引用行/列号。 例如, R[1]C3将直接返回被引用的行的下一行,但在列C中。如果引用的单元格是A3那么它将返回$C4

  3. 如果需要全列或全行,则丢弃RC 例如C1:C3将返回$A:$CR[1]:R[2]将直接在引用的单元格下面返回两个完整行的相对引用