我正在编写一个VBA代码来对excel进行一些计算。 我有一个带有数字的单元格,我希望另一个单元格具有基于第一个单元格的公式,而不是具有公式的计算值。我一直在尝试使用.Formula,但它不起作用:
'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.
相反,如果我使用它:
'Prod/h
Cells(rowWhereToAddPhase, 7).Value= Round(60 / Cells(rowWhereToAddPhase, 6).Value * 60, 0)
我只是得到一个简单的数字。
图片,它在第二种情况下的外观:
我希望如何拥有它:
我想问题是如何调用单元格:我使用Cells(**rowWhereToAddPhase**, 6)
来引用它,因为我不知道它在哪一行,但我想我应该用另一种方式。
有什么想法吗?
由于
答案 0 :(得分:2)
Cells(rowWhereToAddPhase, 7).Formula = _
"=Round(60/" & Cells(rowWhereToAddPhase, 6).Address() & "*60,0)"
答案 1 :(得分:0)
.Formula需要是一个字符串,其内容与在Excel中手动输入公式时的内容相同(例如oRange.Formula =“= SUM(A5:C7)”)。
尝试手动在Excel单元格中创建公式。然后当它工作时,通过VBA设置它,并且可能使用一些字符串连接来获取变量rowWhereToAddPhase。