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

我是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,而是作为string“Cell(i,6)”。 谁能帮我?

您不需要循环,因为您将公式一次放入所有单元格中:

  ' 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来将文本转换为真实时间值。

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