在 VBA 宏 excel 代码中添加公式表达式而不是值

Add formula expression instead of values in VBA Macro excel code

我正在编写一个 VBA 代码来在 excel 上进行一些计算。
我有一个带有数字的单元格,我希望另一个单元格具有基于第一个的公式,而不是具有公式的计算值。我一直在尝试使用 .Formula 但它不起作用:

1
2
3
4
5
'Ciclo
Cells(rowWhereToAddPhase, 6).Value = Round(3600 / Worksheets(originalSheet.Name).Cells(row, 22), 2)

'Prod/h
Cells(rowWhereToAddPhase, 7).Formula ="=Round(60 / Cells(rowWhereToAddPhase, 6).Value * 60, 0)"

当我尝试这个时,我只是得到错误 400。

如果我改用这个:

1
2
'Prod/h
Cells(rowWhereToAddPhase, 7).Value= Round(60 / Cells(rowWhereToAddPhase, 6).Value * 60, 0)

我只是得到一个普通的数字。

图片,第二种情况下的样子:

在此处输入链接描述

我多么想拥有它:

在此处输入链接描述

我想问题是如何调用单元格:我使用 Cells(**rowWhereToAddPhase**, 6) 来引用它,因为我不知道它在哪一行,但我想我应该使用另一种方式。

有什么想法吗?

谢谢


1
2
Cells(rowWhereToAddPhase, 7).Formula = _
  "=Round(60/" & Cells(rowWhereToAddPhase, 6).Address() &"*60,0)"

.Formula 必须是一个字符串,其内容与您在 Excel 中手动输入公式时的内容相同(例如 oRange.Formula ="=SUM(A5:C7)")。

尝试在 Excel 单元格中手动创建公式。然后当它工作时,通过 VBA 设置它,也许使用一些字符串连接来获取变量 rowWhereToAddPhase 。