混合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:C
把C1: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时:
-
[]
将表示相对非绝对参考。 例如,RC[-1]
指的是直接在左边的单元格。 -
如果需要绝对引用,则不要使用
[]
,它将引用行/列号。 例如,R[1]C3
将直接返回被引用的行的下一行,但在列C中。如果引用的单元格是A3
那么它将返回$C4
。 -
如果需要全列或全行,则丢弃
R
或C
例如C1:C3
将返回$A:$C
,R[1]:R[2]
将直接在引用的单元格下面返回两个完整行的相对引用