2016-07-29 4 views
0

数式をセルに入れたいと思います。使用する値は、別のセル(固定セルではない)に基づいています。 これはExcelの数式バーにある場合の数式です。複雑な数式をセルに配置する

=IF(AND(D9=0,J9<>0),100%,IFERROR(K9/D9,0)) 

しかし、これを使用するすべてのセルで式を柔軟にする必要があるため、これをvbaで使用することはできません。ここに私のコードは、(私は良いのではない知っている。)ですSRC1を想定し

ws.Range("L" & src1).Formula = "=IF(AND(" & ws.Range("D" & src1).Value & "=0," & ws.Range("J" & src1).Value & "<>0),100%,IFERROR(" & ws.Range("K" & src1).Value/ws.Range("D" & src1).Value & ",0))" 
+1

あなたが***の値を入れている場合数式、なぜ結果を計算しないのですか? – Comintern

+0

この式がループ内にあるので、私はそれを1つずつ計算するつもりなら、もっと面倒だと思います。 – kruk22

+1

'= IF(AND(10 = 0,42 <> 0)、100%、IFERROR(66/10,0))'のようなものでセルを埋めるよりも、それがどのように優れているかわかりません。 – Comintern

答えて

1

が整数値であり、私はあなたがしたいと考えている:

ws.Range("L" & src1).Formula = "=IF(AND(D" & src1 & "=0,J" & src1 & "<>0),100%,IFERROR(K" & src1 & "/D" & src1 & ",0))" 
+0

私はあなたの提案を試み、出力はパーセンテージではありませんでした。 – kruk22

+0

あなたの提案はうまくいきます。私はちょうどこれについて何かを把握しなければならないと思う。たくさんありがとうございます:) – kruk22

+2

「パーセンテージではなかった」とはどういう意味ですか?セルがパーセントでフォーマットされていないことを意味する場合は、 'ws.Range(" L "&src1).Style =" Percent "'というコード行を追加するだけです。 – YowE3K

関連する問題