アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel VBAでOpenメソッドを使ってtxtファイルを読み込みセルに表示させると、
txtファイルに書いてある値と違う値が表示されてしまいます。読ませたデータは、106303314215443605050000,05D0NPZHRPF0,000CE5155098です。これが
1.06303E+23,05D0NPZHRPF0,000CE5155098となってしまいます。原因がわからず困っています。ソースは次の通りです。

'開くファイル名を取得
getF_name = Application.GetOpenFilename("テキストファイル(*.txt),*.txt")
If getF_name = False Then
Exit Sub
End If

'i = Worksheets("管理台帳2").Range("B65536").End(xlUp).Row
i = 3
'ファイルを開いて、データを読み込む
Open getF_name For Input As #1
Do Until EOF(1)
Input #1, myBuf1, myBuf2, myBuf3

If myBuf2 = myBuf3 Then
Worksheets("管理台帳2").Cells(i + 1, 2).Value = myBuf1
Else
Worksheets("管理台帳2").Cells(i + 1, 3).Value = myBuf1
Worksheets("管理台帳2").Cells(i + 1, 4).Value = myBuf2
Worksheets("管理台帳2").Cells(i + 1, 5).Value = myBuf3
End If
i = i + 1
Loop
'開いたファイルを閉じる
Close #1
'セルをデータの幅に調整

Worksheets("管理台帳2").Select

Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
どなたか教えて頂けませんか?宜しくお願いいたします。

A 回答 (3件)

えっと、まずは回答ではないですけどカテゴリはあってますか?ExcelVBAの質問に見えるのですが…


ExcelVBAの質問であれば、「Microsoftアプリケーション」の方で質問されるのがいいと思いますよ。

えっと、"106303314215443605050000"が"1.06303E+23"と表示されるのを直したいと言うことですよね?
"106303314215443605050000"は数値データ?それとも文字データ?

数値データなら、桁数分の書式設定をしてやれば良いでしょう。
書式設定→"000000000000000000000000"

文字データなら、書式設定を「文字列」にするか。もしくは、以下の様にすれば出来ると思います。
~.Value = "'" & Buf1
にすれば、全て表示されます。

如何でしょうか。
    • good
    • 0
この回答へのお礼

すみません。入力した後カテゴリが間違ってるのに気づいたのですが、削除できなくて・・・・
教えていただいた方法で解決しました。有難うございます。
でも、どうして ’を入れるとちゃんと表示されるのでしょうか?理由も教えていただけると勉強になるのですが・・
お願いできませんか?

お礼日時:2003/09/17 20:56

セルの書式設定で表示形式のデフォルトは「標準」になっています。


標準状態で入力された文字列が全て数字の場合は、数値と判断され数字以外の文字列を含む場合は只の文字列と判断されます。
そこで、入力された数字だけの文字列を数値として判断しないようにする為に、「'」と言うのが準備されています。
ですので、数字だけで文字列として表示する場合は先頭に「'」を付ける物だと思ってください。
    • good
    • 0
この回答へのお礼

有難うございます。たいへん勉強になりました。

お礼日時:2003/09/18 22:19

セルの幅が小さくて16進数表示になっているわけではないのですよね?(この場合はセル幅を広げればいいだけですけど…。


後は、
「Open getF_name For Input As #1 」のところを
「Open getF_name For binary As #1」で開いて、
「line input」で読み込んでみるとか?
    • good
    • 0
この回答へのお礼

こんな方法もあったんですね。勉強になりました。
有難うございます。

お礼日時:2003/09/17 21:37

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