替换VBA中的单元格中的公式

时间:2016-07-20 15:39:52

标签: vba excel-vba excel-formula excel

我有一个 $('.dislike_box a').click(function(event){ var parent_question = $(this).closest('.sql_questions'); event.preventDefault(); $.ajax({ url: 'vote.php?vote=dislike&title=$title', success: function(result){ $(parent_question).text('Got it.'); }}); }); 的单元格,它的当前值是公式C6,我想将公式更改为C5/C4

我有很多类似于这个单元格的单元格,这就是为什么我想开发一个宏,以便我可以遍历它们。

但是,下面的代码不起作用。我认为最后一行问题是If(C4=0, 0, C5/C4)。因为如果我直接用Divider=0替换这个部分,代码就可以了。

有人可以告诉我什么是正确的代码?提前致谢!

C4=0

2 个答案:

答案 0 :(得分:1)

您无法使用.Value设置公式

正确的语法是.Formula

ws.Range("c6").Formula = "=IF(" & Divider & "=0, 0, strTemp)"

答案 1 :(得分:1)

您必须将新公式部分与变量值连接起来:

Sub replaceingError()

    Dim oWS As Worksheet
    Dim sTemp As String
    Dim sDivider As String
    Dim sFormula As String

    Set oWS = ActiveSheet
    sTemp = oWS.Range("C6").Formula
    sDivider = Right(sTemp, 2)
    sTemp = Mid(sTemp, 2)
    sFormula = "=IF(" & sDivider & "=0,0," & sTemp & ")"
    oWS.Range("C6").Formula = sFormula

End Sub