在vba中插入具有函数的公式

我做了两个函数,从两个不同的线(UpperCalc和LowerCalc)进行计算。 这工作正常。 然后,我将需要填写未知数量的单元格的公式(取决于另一张纸上的input)。 我已经能够填写正确数量的单元格的公式。 但是,当我尝试在函数名称中包含VBA编程中的“IF”forms时,它不起作用? 现在我的VBA代码填写公式看起来像这样;

Dim lastRow As Long, i As Long, ws1 As Worksheet, ws2 As Worksheet Set ws1 = Sheets("Sheet1") Set ws2 = Sheets("Sheet2") lastRow = ws1.Range("B" & Rows.Count).End(xlUp).Row With ws1 For i = 2 To lastRow If Len(Trim(.Range("A" & i).Value)) <> 0 Then _ ws2.Range("A" & i).Value = ws1.Range("A" & i).Value ws2.Range("B" & i).Value = ws1.Range("B" & i).Value ws2.Range("C" & i).Formula = "=IF(RC[-1]>R4C12,UpperCalc(RC[-1]),LowerCalc(RC[-1]))" Next i End With End If 

我可以用这些函数之一插入公式(例如ws2.Range("C" & i).Formula = "=UpperCalc(RC[-1])" ,也只能用“IF”公式实例ws2.Range("C" & i).Formula = "=IF(RC[-1]>R4C12,RC[-1],RC[-1]^2)" – 这当然不是实际的计算因为在UpperCalc和LowerCalc后面的计算是相当“脏”的,所以我想利用这些函数。任何想法?只要testing“IF”函数)。