[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/03/20(Mon) 15:32
投稿者名:ぽっぽ
Eメール:
URL :
タイトル:
指数表示
vb6にて、エクセルのセルからデータを読み取って、txtファイルを作成していますが、
読み取るエクセルの表示は実数形式なのに、読み取ると指数形式になってしまいます。
どうすれば、実数表示でtxtファイルに書き込めますか?
お願いします。

投稿時間:2006/03/20(Mon) 18:59
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 指数表示
> 読み取るエクセルの表示は実数形式なのに、読み取ると指数形式になってしまいます。
> どうすれば、実数表示でtxtファイルに書き込めますか?

逆に、今はどのようにして読み込んでいるのですか?
それが、解らないと....。

投稿時間:2006/03/22(Wed) 11:57
投稿者名:ぽっぽ
Eメール:
URL :
タイトル:
Re^2: 指数表示
>
> 逆に、今はどのようにして読み込んでいるのですか?
> それが、解らないと....。

レスありがとうございます。

txtA=cells(x,y).valueで、txtAに指数形式のデータが入ります。

作成したテキストファイルを他のアプリに読み込ませていますが、指数表示
の形式で正しい値が返ってくるので、実質問題はありませんが
疑問が残ったので質問しました。

投稿時間:2006/03/22(Wed) 12:40
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: 指数表示
> txtA=cells(x,y).valueで、txtAに指数形式のデータが入ります。
私が知りたいのは、txtA の型はどのように指定しているかという事です。
何をどのように設定しているのか解らないと間違っている部分も指摘できないのでは。

Excel のセルには何桁の数値が入っているのですか?
txtA を Double 型で宣言しても同じですか?

こんなやり取りを何回もしないと...。

投稿時間:2006/03/22(Wed) 13:22
投稿者名:YK
Eメール:
URL :
タイトル:
Re^3: 指数表示
こんにちは。
>
> txtA=cells(x,y).valueで、txtAに指数形式のデータが入ります。

txtA=cells(x,y).text
ではどうでしょう。

投稿時間:2006/03/22(Wed) 13:39
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^4: 指数表示
> txtA=cells(x,y).text
> ではどうでしょう。

    xlSheet.Columns(1).ColumnWidth = 8
    xlSheet.Cells(1, 1).Value = "123456789"
    xlSheet.Cells(2, 1).Value = "123456789"
    xlSheet.Cells(3, 1).Formula = "=A1+A2"
    Dim txtA As Double
    Dim txtB As Single
    txtA = xlSheet.Cells(3, 1).Value
    txtB = xlSheet.Cells(3, 1).Value
    
    Debug.Print txtA
    Debug.Print txtB
    Debug.Print xlSheet.Cells(3, 1).Text
    Debug.Print xlSheet.Cells(3, 1).Value

結果
246913578
2.469136E+08
2.47E+08
246913578

投稿時間:2006/03/22(Wed) 15:46
投稿者名:YK
Eメール:
URL :
タイトル:
Re^5: 指数表示
こんにちは。

> > txtA=cells(x,y).text
> > ではどうでしょう。

良くないですね。

>     xlSheet.Columns(1).ColumnWidth = 8
ColumnWidth がよく効いていますね。
ColumnWidth = AutoFit か Len(Value) で幅調整したら良いかも。

投稿時間:2006/03/22(Wed) 16:02
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^6: 指数表示
> ColumnWidth = AutoFit か Len(Value) で幅調整したら良いかも。

その上に、 .Style = "桁区切り" でもしてあったら、数値として取り出すのは
やっかいですよ。

それで、使用桁数等詳細が知りたくて聞いているのですが...。

投稿時間:2006/03/23(Thu) 14:48
投稿者名:ぽっぽ
Eメール:
URL :
タイトル:
解決
・txtAはDouble、Single text型で試してみましたがデバックプリント
 は指数形式で出力されました。
・有効桁の制限は7桁です。

ご回答頂いたコードで試してみて期待した返値を得られています。
自分の質問の仕方が悪くてごめんなさい。
YKさん、花ちゃんありがとうございました。