• ベストアンサー

エクセルで、何も値を入力しないとき、自動で0を表示するセルの設定

エクセルの質問です。 表を作成し、セルに数値を何も入力しないとき、自動で「0」が入るようにしたいのですが、関数を使うのか、セルの設定でできるのか、はたまたそんなのことはできないのか、それさえもわかっていないので、大変恐縮なのですが、アドバイスいただけると幸いです。 たとえば、セルが4つあるとします。 「5」 「0」 「2」 「7」 4つ目の「7」には関数をいれ、それ以前の3つのセルの合計を出すようにしています。 上記で「0」となっているところが、問題の箇所で、何も値を入れなくても、勝手に「0」とはいっているようにしたいのです。 よろしくお願いいたします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 昔の表計算では、そういう設定が出来ましたが、今は、出来ないのですね。 おそらく、メモリ保護のためだと思います。ブランク・セルにゼロを入れることは、ワークシートにとって、ひじょうに負担になる可能性があるからだと思います。 もう少し具体的にならないと、解答には結びつかないかもしれませんが、数式が入っている限りは、ブランク・セルには、「0」が入ってしまいます。 [シートタブ]-[右クリック]-[コードの表示] 以下を貼り付けます。 Private Sub Worksheet_Calculate() 'A列のデータ末行まで、ブランクのところに「0」が入ります。 '関数式がないと、このイベント・ドリブン型のマクロは働きません。 Dim c As Range  For Each c In Range("A1", Range("A65536").End(xlUp))   If IsEmpty(c) Then    c.Value = 0   End If  Next End Sub

sabita
質問者

お礼

実はこの件は、職場の上の人から質問されたことだったのですが、その人は「昔できた記憶があるんだよ。できるはずなんだ」と言っていたんで、私が調べていた次第です。そうなんですね。昔はできて、今は負荷のかかる機能としてデフォルトでは存在しないのですね。 マクロの設定は、大変勉強になりました。ありがとうございます。

その他の回答 (3)

  • NCU
  • ベストアンサー率10% (32/318)
回答No.4

入っている数値を削除したら、その瞬間に0が埋まるようにするという事ですか? VBAで簡単にできますが、お勧めしません。 基本シートとは別に表示用シートを作って対応して下さい。 表示用シートは基本シートの対応セルを参照する式で埋める。それだけです。

sabita
質問者

お礼

やはり今はデフォルトでは存在しない機能なのですね。私も、別シートを作成する方法には思い至ったのですが、この件を私に質問してきた職場の人が、「昔はセルの設定でできたはずなんだ」と言っていたもので、質問させていただいた次第です。 回答ありがとうございました。

  • hirorin00
  • ベストアンサー率50% (446/884)
回答No.2

はじめまして たぶんあらかじめ「0」を入れておくしかないと思います。 なぜならエクセルはそのセルが本当の空白なのか、貴殿が意識して数値を何も入れていないセルなのかを、判断する頭脳(?)がないからです。

sabita
質問者

お礼

任意のセルにだけ設定できれば・・・と思ったのですが、どちらにしてもそのような機能は存在しないようですね。回答ありがとうございました。

  • Chimrin
  • ベストアンサー率49% (42/85)
回答No.1

あらかじめ数字を入力したいセルに0を入力しておく(セルをコピーしたり、複数セルを選択して0を入力しCtrl+Enterを押すなど)……という方法ではだめなのでしょうか(^^; 既に数字を入力したあとで空白セルに0を入力したいのでしたら、数字を入力したいセル範囲を選択して、置換で[検索する文字列]に何も入力せず[置換後の文字列]に0を指定すればいいでしょう。 お望みの答えでなかったらすみません。

sabita
質問者

お礼

置換は[検索する文字列]に何も入力しなければ、空白セルに一括で入力することができるんですね。ありがとうございました。勉強になりました。

関連するQ&A