プロが教える店舗&オフィスのセキュリティ対策術

エクセルの質問です。

表を作成し、セルに数値を何も入力しないとき、自動で「0」が入るようにしたいのですが、関数を使うのか、セルの設定でできるのか、はたまたそんなのことはできないのか、それさえもわかっていないので、大変恐縮なのですが、アドバイスいただけると幸いです。

たとえば、セルが4つあるとします。

「5」 「0」 「2」 「7」

4つ目の「7」には関数をいれ、それ以前の3つのセルの合計を出すようにしています。
上記で「0」となっているところが、問題の箇所で、何も値を入れなくても、勝手に「0」とはいっているようにしたいのです。

よろしくお願いいたします。

A 回答 (4件)

こんばんは。



昔の表計算では、そういう設定が出来ましたが、今は、出来ないのですね。
おそらく、メモリ保護のためだと思います。ブランク・セルにゼロを入れることは、ワークシートにとって、ひじょうに負担になる可能性があるからだと思います。

もう少し具体的にならないと、解答には結びつかないかもしれませんが、数式が入っている限りは、ブランク・セルには、「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
    • good
    • 0
この回答へのお礼

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

マクロの設定は、大変勉強になりました。ありがとうございます。

お礼日時:2006/08/11 11:46

入っている数値を削除したら、その瞬間に0が埋まるようにするという事ですか?


VBAで簡単にできますが、お勧めしません。
基本シートとは別に表示用シートを作って対応して下さい。
表示用シートは基本シートの対応セルを参照する式で埋める。それだけです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/11 11:52

はじめまして



たぶんあらかじめ「0」を入れておくしかないと思います。

なぜならエクセルはそのセルが本当の空白なのか、貴殿が意識して数値を何も入れていないセルなのかを、判断する頭脳(?)がないからです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/11 11:41

あらかじめ数字を入力したいセルに0を入力しておく(セルをコピーしたり、複数セルを選択して0を入力しCtrl+Enterを押すなど)……という方法ではだめなのでしょうか(^^;



既に数字を入力したあとで空白セルに0を入力したいのでしたら、数字を入力したいセル範囲を選択して、置換で[検索する文字列]に何も入力せず[置換後の文字列]に0を指定すればいいでしょう。

お望みの答えでなかったらすみません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/11 11:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!