• ベストアンサー

空白セルを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と認識して計算するようにするには、どのような式にすればよいのでしょうか。 ご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

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])"'自動機部品費小計挿入

herucom
質問者

お礼

ありがとうございました。 解決しました。

その他の回答 (1)

回答No.2

因みに、参照する先が「ブランクセルの場合の他、空白セルの場合もある」の場合は、式を以下のように変更して下さい。 =(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関数を使っている場合に、値が「""」になるセルの場合が該当します。

herucom
質問者

お礼

丁寧にありがとうございました。

関連するQ&A

専門家に質問してみよう