
エクセルに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ランキング
-
メモ帳で開く設定を元に戻したい。
-
Windows11で画面下の帯の部分で...
-
エクセルでファイルを閉じても...
-
エクセルで複数のブックで「元...
-
エクセルでの入力後の動きが遅い
-
メモ帳(拡張子log)の数字デー...
-
CSVファイルでVBAを動かす方法
-
エクセルを閉じた時、ノッペラ...
-
excelの拡張子xlsmが開けません
-
開くと警告の出るExcelファイル...
-
ACCESSのVBで、エクセルファ...
-
Lotus 1-2-3のファイルをExcel...
-
エクセルの添付ファイルに記入...
-
テキストをエクセルで開いた場...
-
パソコンの画面が暗くなるとき...
-
共有しているEXCELシートのアク...
-
エクセルのハイパーリンクがう...
-
CSVファイル
-
エクセルの中にエクセルを添付...
-
Google Todoリスト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでファイルを閉じても...
-
Windows11で画面下の帯の部分で...
-
エクセルの添付ファイルに記入...
-
エクセルを閉じた時、ノッペラ...
-
エクセルを開いたときのシート
-
メモ帳で開く設定を元に戻したい。
-
CSVファイルでVBAを動かす方法
-
エクセルで複数のブックで「元...
-
Lotus 1-2-3のファイルをExcel...
-
エクセルにクリックすると指定...
-
400KBのエクセルは重いの?
-
共有しているEXCELシートのアク...
-
CSVファイル
-
エクセルVBAでアクセスファイル...
-
エクセルの塗りつぶしの色が勝...
-
ExcelファイルがDoxillionに突...
-
メモ帳(拡張子log)の数字デー...
-
エクセルでの入力後の動きが遅い
-
CSVファイルをカンマ区切りのテ...
-
excel 突然容量が増える原因
おすすめ情報