我有一个单元格(A3)的公式为“ = A1 + A2”。我想从公式A3计算B3的公式,结果像“自动填充”功能一样是“ = B1 + B2”。 像这样
Function GetNextFormula(fromCell as Range, toCell as Range)
bla bla bla
GetNextFormula = "=B1+B2"
End Sub
答案 0 :(得分:3)
在两种情况下,xlR1C1公式将完全相同。从A3提取xlR1C1公式,并使用Application.ConvertFormula method将其转换为相对于B3的xlA1样式公式,将提供正确的公式。
Function GetNextFormula(fromCell As Range, toCell As Range)
GetNextFormula = Application.ConvertFormula(Formula:=fromCell.FormulaR1C1, _
FromReferenceStyle:=xlR1C1, _
ToReferenceStyle:=xlA1, _
ToAbsolute:=xlRelative, _
RelativeTo:=toCell)
End Function
鉴于您最近的评论,您只需对A3和B3的xlR1C1公式执行StrCmp。如果B3是使用AutoFill或FillRight生成的,则它们将是相同的。
if range("A3").formular1c1 = range("B3").formular1c1 then
debug.print "autofill match"
end if