我正在尝试填写一个公式R1C1,我正在使用的代码用于数字或字符串条目,但不适用于公式。 这就是我到目前为止所拥有的
Dim sourceCol As Integer, rowCount As Integer
sourceCol = 4
rowCount = Cells(Rows.Count, sourceCol).End(xlUp).Row
Range("K11:K" & LastRow).FormulaR1C1 = "=IF(R[0]C[-8]="""","",R[0]C[-9]&R[0]C[-6])"
D列中的最后一个单元格大约为1000,我知道这在其他情况下有效。 你能帮忙吗?
由于
答案 0 :(得分:0)
我在这里提供了几个解决方案 - 使用FillDown关键字或仅参考整个范围 另外,你没有在公式中加上足够的双引号 - 它们都需要加倍 在R1C1表示法中,您只需使用R引用相同的行而不是R [0]
R1C2 是第1行,第2列
With ActiveSheet
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'- To FillDown you can use.
'.Range("K11").FormulaR1C1 = "=IF(RC[-8]="""""""","""",RC[-9]&RC[-6])"
'.Range(.Cells(11, 11), .Cells(rowCount, 11)).FillDown
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.Range(.Cells(11, 11), .Cells(rowCount, 11)).FormulaR1C1 = "=IF(RC[-8]="""""""","""",RC[-9]&RC[-6])"
End With
答案 1 :(得分:0)
Darren的上述帮助有效,但下面也有。
Dim sourceCol As Integer, rowCount As Integer
sourceCol = 4
rowCount = Cells(Rows.Count, sourceCol).End(xlUp).Row
Range("K11:K" & rowCount).FormulaR1C1 = "=IF(RC[-8]="""","""",RC[-9]&RC[-6])"