- ベストアンサー
空白セルを1と認識するには、どうすればいい?
マクロ初心者です。 前任者のマクロファイルで不具合があり、直したいのですがわかりませんので教えてください。 ActiveCell.Offset(0,34).FormulaR1C1="=R[-1]C*R[-1]C[-3]"'自動機部品費小計挿入 ActiveCell.Offset(0,35).FormulaR1C1="=R[-1]C*R[-1]C[-4]"'自動機部品費小計挿入 上の式で、[-3]と[-4]の位置のセルが空白の時に、0と認識して、答えが0になってしまいます。 空白は、1と認識して計算するようにするには、どのような式にすればよいのでしょうか。 ご教授願います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ActiveCell.Offset(0,34).FormulaR1C1="=(ISBLANK(R[-1]C)+R[-1]C)*(ISBLANK(R[-1]C[-3])+R[-1]C[-3])"'自動機部品費小計挿入 ActiveCell.Offset(0,35).FormulaR1C1="=(ISBLANK(R[-1]C)+R[-1]C)*(ISBLANK(R[-1]C[-4])+R[-1]C[-4])"'自動機部品費小計挿入
その他の回答 (1)
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
因みに、参照する先が「ブランクセルの場合の他、空白セルの場合もある」の場合は、式を以下のように変更して下さい。 =(OR(R[-1]C="",ISBLANK(R[-1]C))+"0"&R[-1]C)*(OR(R[-1]C[-3]="",ISBLANK(R[-1]C[-3]))+"0"&R[-1]C[-3]) =(OR(R[-1]C="",ISBLANK(R[-1]C))+"0"&R[-1]C)*(OR(R[-1]C[-4]="",ISBLANK(R[-1]C[-4]))+"0"&R[-1]C[-4]) 「ブランクセル」とは、本当に何も入れていないセルのこと。 「空白セル」は、ブランクではなく、式などで「長さ0の文字列」を書いているセルのこと。 例えば「=IF(空白にする条件,"",どこかのセルの値を参照する式)」など、IF関数を使っている場合に、値が「""」になるセルの場合が該当します。
お礼
丁寧にありがとうございました。
お礼
ありがとうございました。 解決しました。