.Range(Cells(r, 14), Cells(r, 14)).Formula = "=IF(ISBLANK(L3),"""",L3-B3)"
.Range(Cells(r, 13), Cells(r, 13)).FormulaR1C1 = "=IF(ISBLANK(L3),"""",L3-B3)"Formula,FormulaR1C1 都试过了,在excel单元格里就只是显示公式的text,不作计算。。请高手救急!

解决方案 »

  1.   

    .Range("N4").Value = "=SUM(D3:D5)" 也测试过了,还是只显示公式的文本在单元格里
    是不是excel什么地方设置错了阿,救急阿!谢谢
      

  2.   

    不是阿,这个.Range("N4").Value = "=SUM(D3:D5)"引号总没错吧。。
      

  3.   

    以下代码测试成功,不知道你的是怎么搞的:
    Private Sub command1_click()
        Dim oxls As Excel.Application, osheet As Excel.Worksheet
        Set oxls = New Excel.Application
        oxls.Visible = True
        oxls.Workbooks.Add
        Set osheet = oxls.ActiveSheet
        dim r as long
        r=1
        osheet.Range(Cells(r, 1), Cells(r, 14)).Formula = "=sum(1,2,3)"
    End Sub
      

  4.   

    又测试新的怪现象:
    这个能正确插入公式,但是将第一行的列标题也覆盖了,所以不能采用
    .Range("N1:N2000").Value = "=IF(ISBLANK(L3),"""",L3-B3)"
    但当我改成
    .Range("N3:N2000").Value = "=IF(ISBLANK(L3),"""",L3-B3)"
    则,又只能显示公式文本,而不显示公式值了怎么这么奇怪!?
      

  5.   

    计算之后在给单元格赋值,不就没事了。IF .range("L3")="",then
      .Range("N1:N2000").Value=""
       else
     ,"""",L3-B3)"
      

  6.   

    计算之后在给单元格赋值,不就没事了。
    如果多个单元格可以套个循环。IF .range("L3")="",then
      .Range("N1:N2000").Value=""
       else
           .Range("N1:N2000").Value=.range("L3")-.range("B3")
    end if