0

VBA で数式を実行しようとしていますが、分母が 0 であるためにエラーが発生します。分母にゼロがある場合、アクティブ セルをゼロに設定したいと思います。私がしていることはすべて間違っています。私はプログラマーではありません。何をしているかが自分もわからない。どんな助けでも大歓迎です。これが私が

Range("H" & Row).Activate
If Range("F" & Row) = 0 Then ActiveCell.Formula = 0
ActiveCell.Formula = Range("G" & Row) / Range("F" & Row)
4

3 に答える 3

3

else を使ってみる

何かのようなもの

Range("H" & Row).Activate
If Range("F" & Row) = 0 Then
    ActiveCell.Formula = 0
Else 
    ActiveCell.Formula = Range("G" & Row) / Range("F" & Row)
End If
于 2013-09-03T18:16:28.173 に答える
0

Cor_Blimey や tigeravatar はお勧めしません。どちらもコードが読みにくくなります。行継続文字「_」とステートメント終了文字「:」を使用するという Cor_Blimey の提案は、コードの簡潔さを増さず、論理的には上記のコードと同じです。Tigeravatar は、セルがエラー ケース自体を処理することを示唆しており、正しい軌道に乗っていますが、彼のコードの提案により、すべてが読みにくくなっています。

私の提案する変更は、VBA を完全に削除し、計算を行う列 H のセルで次の式を使用することです。

=IfError(G1/F1,0)

ワークシートに既にあるもの以外の値を計算で使用していないため、これは機能します。

于 2013-09-03T18:52:34.247 に答える