QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

EXCELの書式が文字列のセル参照

何時もお世話になっております。
EXCELの同一シート内のセル参照について質問があります。

1.A1の書式を「文字列」に設定し、値を「01」と入力。

2.B1を「=A1」と入力、B1に「01」が表示される。

3.B1でF2キーを押す。B1に「=A1」と表示される。

質問、
 B1の書式が文字列に変更されてしまう。
 その後、更新しようとすると「=A1」という文字列として表示されるようです。
 設定などで常にA1の値を取得するようにすることは出来ないでしょうか。
 今は更新があるたびに一度書式を「標準」にするマクロを組んで臨時対応していますが、対象が複数あるため不便です。

よろしくお願いします。
 

質問者:ESOMA

回答

こんにちは。

B1の書式が文字列に変更されてしまう。

その後、更新しようとすると「=A1」という文字列として表示されるようです。

この挙動に関しては Excel 2000 と Excel 2002 の仕様だそうです。
http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B405393
私の手元にある Excel 2003 でも再現します。

Excel の仕様ということなので、設定の変更では改善しないと思います。
マクロで対応していくしかないかもしれません。

投稿者:ue

編集 履歴 (0)

ueさん
こんにちは。

仕様ですか、あきらめてマクロですね。
返答ありがとうございます。

投稿者:ESOMA

編集 履歴 (0)

根本的な解決にはなりませんが、書式を文字列に設定して入力するのでなく、
頭にシングルクォーテーションを付けて'01と入力してやれば、この現象は
発生しませんね。
私の場合Lotus1-2-3あがりなので、数字を文字列として入力する際は、大抵
こっちのやり方をするので、こんな妙な仕様があることはこれまでまったく
知りませんでした。

投稿者:さらだ

編集 履歴 (0)

ESOMAさんの書き込み(2006-04-11 12:07)より:

 設定などで常にA1の値を取得するようにすることは出来ないでしょうか。

これがしたいことですよね?
だったら、なぜ B1 セルを編集するのですか?参照元である A1 セルを編集すればいいのではないですか?

 A1 セルを編集しても更新されない? 「ツール」→「オプション」→「計算方法」で、「計算方法」を「自動」に設定。

 B1の書式が文字列に変更されてしまう。

 先に式を入力してから A1 の書式を変更すると、「標準」のままのようです。

 「自動計算セル」の編集を許可するのが、おかしいように思います。

〆 written by Jitta@わんくま同盟 on 2006/04/11
□ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006

投稿者:Jitta

編集 履歴 (0)

さらださん
ありがとうございます。
その通りなんですよね、初期開発ならそれで対応するんですが、
改造要件で発生した問題なのでその対応は難しいです。

Jittaさん
ありがとうございます。
おっしゃるとおりです。
編集する必要はないです、シートの保護で基本的にはロック範囲にしています。
実際は編集するのではなく、マクロで行をコピーして参照先を変えてるんです。
そこで問題となったのです。
説明不足で申し訳ありません。

投稿者:ESOMA

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。