• 締切済み

Excelの標準書式をいじる方法

Excel初心者です。 デフォルトのセル書式設定をいじっておきたいのですが、方法はないでしょうか? 文字列と数値と指数と関数以外を打ち込む事がない使い方をしてるのですが、文字列によってそれ以外の(たとえば2ー1と打ったら1月2日にされてしまうなど)分類にされてしまって、毎回直してるのが面倒なので・・。 標準の分類を文字列に設定したいのです。 よろしくお願いします。

みんなの回答

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

こんばんは。 ネットワークであっても、テンプレートは、自分のPCのExcelに反映してしまいます。それに、いろいろ検討してみましたが、マクロによる解決方法が良いのではないかと、こちらでは判断しました。 これは、少し特殊ですが、 最初、入力する列や範囲は、必ず、文字列「@」書式にしておく必要があります。そうしないと、入力した後に、このプログラムは起動するので、自動変換されてしまった後では、取り戻しが聞きません。 例としては、 1-30 と 30-1 の違いは、自動日付変換では、同じになってしまうからです。 入力する列や範囲は、必ず、文字列「@」書式にしておいてください。 画面下のシートタブを右クリックして、「コードの表示」をクリックして開けます。 そして、以下のコードを貼り付けます。後は、普通に入力すれば、自動的に、「'」に付加し、書式を「G/標準」に戻してくれます。なぜ、書式を「G/標準」に戻すかは、前回書いたように、その「文字列書式」に設定したセルを、参照すると、参照側も、文字列として、不活性な状態になるという不具合が、Excelにはあるからです。 '--------------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Dim buf As Variant If Target.Cells(1).Text = "" Then Exit Sub   buf = Target.Cells(1).Text   Application.EnableEvents = False   Target.Cells(1).NumberFormat = "General"   If IsDate(buf) Then     Target.Cells(1).Value = "'" & buf   Else     Target.Cells(1).Value = buf   End If   Application.EnableEvents = True End Sub '-------------------------------------------------

reglus
質問者

お礼

大変おそくなりましたが参考になりました。 ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

書式はシートのセル(セル範囲)に設定するものです。あるシートについて言えば、最初に1回、例えばある列に設定すてばそのシートでは済む話です。 別のシートや別ブックのシートの場合も有効にするにはテンプレートや原本的シートのコピーしかない。 VBAででもPersonal.xlsに入れて自動的に出来る話でもあります。 ーー 別の人は別のニーズもあるので、設定等で余り精緻なのは作られても困る。日付で1-2を使っている人も世界的に多数居るとMSは判断したのだろう。

reglus
質問者

お礼

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

noname#187541
noname#187541
回答No.4

こんにちは。 入力するとき先頭に’を付ければ「文字列」になります。文字列の時は’を付けて入力するようにするというのはどうですか?

reglus
質問者

お礼

その通りですね。今はそうしています。ありがとうございました。

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

こんにちは。 これは、Excelの古くからある[余計なお世話]機能ですが、起動時の一回きりなら、テンプレートで設定するのがよいのですが、基本的には、回避する方法はありません。どうしてもというなら、特殊なプログラムで、ブックの起動時にインスタンスを生成して設定するようにしますが、今回のような場合は、どのようにしても避けられないものがあります。 1-2 をそのまま表示するというのは、Excelでは、[文字列 (@)]という書式でしかありませんが、この書式で設定されたセルに対して、数式で参照をすると、不具合が生じますから、根本的な解決方法はありません。あえて行うなら、Lotus方式の「'1-2」で入力して、文字列表示をさせる方法が良いかもしれません。「'」は、文字ではなく、「接頭辞(Prefix)」という文字列書式記号ですから、セルに埋め込まれれば、関数の認識や印刷はされません。 なお、初期設定のテンプレートを入れる場所に関しては、 C:\Documents and Settings\[User Name]\Application Data\Microsoft\Excel\XlStart\ のユーザー・フォルダで、C:\Program Files\ 側のほうには、セキュリティ的に、入れないほうがよいです。ユーザー設定は、ローカル側(C:\Documents and Settings\[User Name]\)に入れるというのが、OSが、Win2000以降では一般的です。

reglus
質問者

お礼

ありがとうございます。 社内のサーバに置いてあるファイルを開いての追加修正などがメインなのですが、テンプレートを使ったときも反映されるでしょうか? ファイルは私が作る場合もあれば、他人が作る事もあります。 'を使うのもありなんですが、数値パッドで打ち込むものでメインキーボードまで手を伸ばすのが面倒・・・ということで、キーアサインでも変えてみます。

回答No.2

好みの書式設定をしたテンプレートを作成します。場所と名前は 2004なら /Applications/Microsoft Office 2004/Office/Startup/Excel/ブック 2003なら、 C:\Program Files\Microsoft Office\Office11\Xlstart\Book.xlt です。

reglus
質問者

お礼

お礼を失念しておりました。 ありがとうございます。

  • mira723
  • ベストアンサー率20% (160/781)
回答No.1

書式設定をしたExcelフォームをデスクトップに貼り付けておき、Excelを使うときはそのデスクトップに貼り付けてある、フォームを使用すれば問題ありません

reglus
質問者

お礼

お礼を失念しておりました。 ありがとうございます。

関連するQ&A