• ベストアンサー

空白セルにハイフンを表示

エクセル2010です。 ある表の空白のセルに常にハイフンを表示させておき、数字や文字を入力するとハイフンが消えて、その文字が表示されるという設定や数式はあるのでしょうか。 もしも分かる方がいらっしゃいましたら、ご教示いただけないでしょうか。

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

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

>ある表の空白のセルに常にハイフンを表示させておき、数字や文字を入力するとハイフンが消えて、その文字が表示されるという設定や数式はあるのでしょうか。 ご質問のことは、マクロにより可能です。問題の表のあるシートのシート見出しを右クリック、「コードの表示」にて表示されるコードウィンドウにこの回答のいちばん下に掲載しているコードをコピペ。そして、指定した範囲内のどこか 1 セルに、試しに何かの値を記入してみてください。 マクロによらず、セルの書式による方法では、空白セルだと、できません。ただし 0 を記入したセルにおいて 0 の代わりに「-」を表示することは、できます。例えば「0.0;-0.0;"-"」といった書式で。 セルに数式を記入しておくことで「-」の表示を実現するということは、その意味としては、値を記入するセルと「-」などを表示するセルを、別々に設けるということになりますね。その形で良ければ、例えば次式で可能です。 B1 =if(a1="","-",a1) もっとも私なら、空白セルは空白のままとするか、または No.1 さんもおっしゃっているように、空白セルを一括で選択してそれらに同時に「-」を記入する処理を行うケースが多いと思います。少なくともご質問の目的でマクロを使うことは、個人的には殆どないと思います。 Private Sub Worksheet_Change(ByVal Target As Range)   Dim r As Range, c As Range   Set r = Range("a1:c5")  '「-」などを記入したい範囲を指定   If Intersect(r, Target) Is Nothing Then Exit Sub   Application.EnableEvents = False   For Each c In r     If c.Value = "" Then c.Value = "-"   Next c   Application.EnableEvents = True End Sub

その他の回答 (2)

回答No.3

No.2 です。一点、書き漏らしたことを補足します。 セルの書式により空白セルに「-」を表示することはできませんが、空白セルを塗りつぶすことはできます。条件付き書式を使います。 設定したいセル範囲を選択した状態で条件付き書式のダイアログにて「指定の値を含む……」を指定し、「次のセルのみを……」の欄にて「空白」を指定し、「書式ボタン」の「塗りつぶし」タブにて好きな色を指定します。すると空白セルに色が付き、0 を含め何らかの値をセルに記入すると、色が消えるようになります。

naka_kom
質問者

お礼

ありがとうございました。 教えていただいたマクロで解決することが出来ました!

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

んと、、、その空白のセルにハイフンを入力しておくのはダメ? 縦一列に一度にハイフンを入力するなら、  入力するセル範囲を選択して一番上のセルにハイフンを入力してEnterキーを押す。  次にCtrlキーを押しながらDキーを押す と、下にずらっとコピーされます。 横一行に一度に・・・  ・・・Crtlキーを押しならRキー・・・ です。 ちなみに数式を入力してもそこへ文字や数値を入力したら数式そのものが消えてしまいますよ。 まあ、マクロで設定できなくはありませんが、手の込んだことをするとあとで自身が困ることになるのでお勧めはしません。

関連するQ&A