エクセルにCSVファイルから読み取りをするVBAで下記のように記述しています。
Sub CSV読取り
Dim FName As Variant
FName = Application.GetOpenFilename(FileFilter:="CSVファイル (*.csv), *.csv")
Open FName For Input As #1
For i = 1 To 400
Input #1, Columni
ThisWorkbook.Sheets("CSV取得").Cells(i, "E").Value = Columni
Next i
Close #1
End Sub
これでほとんどのデータ(数値や文字列の400件)をうまく読み取るのですが、どういう訳かデータが小数点以下第三位まである数値の場合、エクセルに取り込まれた段階で小数点以下第二位までに四捨五入されてしまうようです。
そのうえ、エクセルのセルの表示形式がそこだけ通貨(¥マーク付き)になっています。
なぜでしょうか?
またどうしたら正しく小数3位まで読み取れるのでしょうか?
CSVファイルをエクセル単純にエクセルで開けばちゃんと小数三位まであるのですが、データが横一列にカンマ区切り400件あるので256列しかないエクセルではすべてとりこめません。(だから上記のマクロで縦に変換してとりこんでいるのですが)
非常に困っています。
No.2ベストアンサー
- 回答日時:
追記です。
csvファイルがすべて数値だと思っていたもので・・・
Dim Columni As String
で回避することは出来ると思うのですが、さんが求めているものはもっと高いレベルのような気がしてきました。
すみませんでした。。。
この回答への補足
> csvファイルがすべて数値だと思っていたもので・・・
文字(全角および半角英字)と整数と小数です。
Dim Columni As String で十分問題は解決しました。
小数も正しく表示されましたし、空白がゼロにかわったり。文字が消えることも今のところ有りませんでした。
これでいいと思うのですが、何か問題が起きる可能性があるのでしょうか?
昨日からやっていますがまだ問題はおきていません。
ご教示いただけると幸いです。
No.4
- 回答日時:
こんばんは
Stringは一応、文字列、数値とも対応できるので大丈夫だと思います。
お役に立てて幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルがファイルの...
-
エクセルを閉じた時、ノッペラ...
-
400KBのエクセルは重いの?
-
エクセルで文字の色を変えよう...
-
Windows10で、ほかのWindowsで...
-
過去の定額郵便貯金の金利表
-
エクセルでファイルを閉じても...
-
共有しているEXCELシートのアク...
-
odsファイルの開き方教えてくだ...
-
ExcelファイルがDoxillionに突...
-
エクセルVBAでアクセスファイル...
-
テキストファイルのデータをエ...
-
エクセルのデータをJMPにコピー...
-
StarSuite Calcって何ですか
-
エクセルファイルを開くと、ツ...
-
エクセルで打ち消し線について...
-
エクセルを閉じたとき、他のエ...
-
紙の見積書とエクセル
-
エクセル2007でエクセル2...
-
ADOでエクセルファイルの件数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでファイルを閉じても...
-
Windows10で、ほかのWindowsで...
-
エクセルで複数のブックで「元...
-
エクセルVBAでアクセスファイル...
-
Lotus 1-2-3のファイルをExcel...
-
共有しているEXCELシートのアク...
-
エクセルを開いたときのシート
-
エクセルの塗りつぶしの色が勝...
-
エクセルにクリックすると指定...
-
400KBのエクセルは重いの?
-
エクセルの中にエクセルを添付...
-
エクセルの添付ファイルに記入...
-
2つのエクセルファイルをデュ...
-
過去の定額郵便貯金の金利表
-
ExcelファイルがDoxillionに突...
-
メモ帳(拡張子log)の数字デー...
-
エクセルで1.5GBのファイルを開...
-
エクセルのシートが常に小さく...
-
Google Todoリスト
-
2画面を使ってシート別に表示す...
おすすめ情報