2016-10-02 20 views
0

Excelでいくつかの計算を行うVBAコードをコーディングしています。 私は数のあるセルを持っていて、式の計算値を持つ代わりにの式に基づいて、別のセルに最初のセルを設定します。私は.Formulaを使用しようとしてきたが、それは働いていない:VBAマクロの値の代わりに式の式を追加する

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

I:私はこれをしようとすると、代わりに、私はこれを使用する場合

'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

を取得しますちょうど平凡な数字を取得してください。それは第二の場合にどのように見えるか

画像、:

enter link description here

私はそれを持ってしたいと思います方法:

enter link description here

私は問題が呼び出す方法です想像セル:私はCells(**rowWhereToAddPhase**, 6)を使ってそれを参照します。なぜなら、私はそれがどの行にあるのかわからないからです。しかし、別の方法を使うべきだと思います。

アイデア?

おかげ

答えて

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

.Formulaは、そのコンテンツは、Excel(例えばoRange.Formula = "= SUM(A5:C7)")に手動式を入力したときと同じ文字列にする必要があります。

Excelセルで数式を手動で作成してみてください。それが動作するとき、VBAを介してそれを設定し、多分いくつかの文字列の連結を使用して、そこに変数rowWhereToAddPhaseを取得します。

関連する問題