VBA Excel,将公式分配给范围内的行

时间:2014-09-19 12:53:20

标签: excel vba excel-vba excel-formula

我是VBA的新手,想问你是否可以帮助我。 我有这个VB6代码:

For i = 2 To rowCount - 2
        ' Fill Ji  with a formula(=MID(Fi,11,9)) and apply format.
        Set oRng = oSheet.Range(Cells(i, 10), Cells(rowCount - 2, 10))
        **oRng.formula = "=MID(Cells(i,6),11,9)"**
        oRng.NumberFormat = "[$-F400]hh:mm:ss"
Next i

我想为该范围指定一个公式 试过这段代码,但是在分配公式时遇到了问题。它没有将Cell(i,6)识别为Cell,而是As string" Cell(i,6)"。 任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

当您将公式一次性放入所有单元格时,您不需要循环:

    ' Fill Ji  with a formula(=MID(Fi,11,9)) and apply format.
    Set oRng = oSheet.Range(oSheet.Cells(2, 10), oSheet.Cells(rowCount - 2, 10))
    oRng.formulaR1C1 = "=MID(RC6,11,9)+0"
    oRng.NumberFormat = "[$-F400]hh:mm:ss"

注意:我在公式中添加了+0,将文本转换为真实时间值。

答案 1 :(得分:0)

试试"=MID(" & Cells(i,6).Address(False,False) &",11,9)" 仅当您需要相对参考

时才包括地址部分