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

エクセルVBAで使われているFormat関数を使って"1000"を"1,000"と表示させようとすると他のPCでは正常に表示されるのですが私のPCでは"1"と表示されてしまいます。
エクセルの設定だと思うのですが、どこをいじって良いか分かりません。誰か教えてください。

A 回答 (4件)

こんばんは。



#1の補足
>セル幅は十分にあります。
それで、
>UserForm3.pretaxamount.Caption

というのは、ここに表示されたものが、「1」しかでないということでしょうね。

UserForm3のpretaxamount は、たぶん、ラベルですね。
かなり、おかしなコードですが、入力元を調べれば原因はわかるはずです。表示されたコードでは、コードとしてはヘンですが、表示が変る原因にはなりません。

ただし、このようにしたほうが安全かもしれませんが。

UserForm3.pretaxamount.Caption = Format$(CLng(pretaxamount), "\\#,###")

この表示するまでの経路を1つずつ見ないと分りません。もしも、セルに入力したものが、UserForm上に現れるのでしたら、Range("A1").Text などとなっている可能性が強いです。それは、Range("A1").Value としなければなりません。
    • good
    • 0
この回答へのお礼

返事が遅くなりました。有り難うございます。
試してみます。
文字列を数値と見なせば、カンマの前にある数字、すなわち「1」しか表示しないだろうなと判断できるのですが、私のPC以外では問題なく表示されるのが不思議です。時間があるときにじっくり見直したいと思います。

お礼日時:2006/02/16 19:20

こんばんは。



回答者側があれこれ考えても限界があると思います。
とにかく、コードを見せてくれませんか?

Format関数は、テキスト出力ですから、ワークシート側で、たぶん、自動変換されている可能性が強いですが。

この回答への補足

人からもらったマクロなんですが、
いじれないものもあります。
参照できるものは、
コードはこんな感じです。

Dim pretaxamount
UserForm3.pretaxamount.Caption = Format(pretaxamount, "¥¥#,###")

(¥¥は本来は半角です)

例えばこんな感じです。
ただ、他のPCではちゃんと","が挿入されるので、
エクセルの設定ではないかと思っていますがどうなんでしょう?

補足日時:2006/02/13 12:52
    • good
    • 0

「,(カンマ)」と「.(ドット)」が違ってないでしょうか?


1.000(いってんぜろぜろぜろ)を整数表示になっていると「1」になってしまいます。
直すには、該当セルをクリックして、メニューの[書式]-[セル]で「表示形式」を「数字」にして、「小数点以下の桁数」を「3」にすれば表示されます。

この回答への補足

記述の問題ではないと思っています。同じファイルを他のPCで開くとちゃんと”,”が入るんです。私の使用しているPCのみ"1000"→"1"となるんです。

補足日時:2006/02/13 13:03
    • good
    • 0

数値ならセルの書式設定の表示形式がユーザー定義で #,##0, のように最後にカンマが付いているですが


Format関数は文字出力なので違うと思います。
考えられるのは",000"の部分がセルの幅が狭くて隠れてるとかしかないのですが...

この回答への補足

セル幅は十分にあります。もし他になにか考えられることがあったらお願いします。
今のところ、私のPCのみの現象なんで、私さえ使用をあきらめれば済む話なんですが。

補足日時:2006/02/13 13:14
    • good
    • 0

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