我有以下代码:
Dim lastrow As Double
Dim lastrowX As String
lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
lastrowX = "X2:X" & lastrow
Range(lastrowX).FormulaR1C1 = "=IF(RC[-4]=RC[-19],RC[-15],"""")"
问题在于,它不是使用公式,而是给我以下内容:
=IF(RC[-4]=RC[-19],RC[-15],"""")
为什么excel不想"转换" RC参考?
答案 0 :(得分:3)
因为单元格格式化不允许将公式视为真实公式。由于单元格可能被格式化为文本。
替换以下代码行
Range(lastrowX).FormulaR1C1 = "=IF(RC[-4]=RC[-19],RC[-15],"""")"
使用
With Range(lastrowX)
.Clear
.FormulaR1C1 = "=IF(RC[-4]=RC[-19],RC[-15],"""")"
End With