やりたいこと
エクセル(2019)にCSVファイルをVBAで項目のデータ型を指定してインポートしたい。
CSVファイルは1行目に各項目があり、2行目以降がデータ行となっている。
2行目以降をインポートするということはできた。
1行目からインポートしたいが、インポートしようとするとエラーとなってしまう。
現状のコード
VBA
1Sub Import() 2 Dim buf As String, tmp As Variant, n As Long 3 Close #1 4 Open "C:\vba\sample.csv" For Input As #1 5 Do Until EOF(1) 6 Line Input #1, buf 7 tmp = Split(buf, ",") 8 n = n + 1 9 '応募日時 10 Cells(n, 1).Value = DateValue(tmp(0)) 11 '年齢 12 With Cells(n, 2) 13 .NumberFormat = "@" 14 .Value = tmp(1) 15 End With 16 '生年 17 With Cells(n, 3) 18 .NumberFormat = "@" 19 .Value = tmp(2) 20 End With 21 '姓 22 Cells(n, 4).Value = tmp(3) 23 '名 24 Cells(n, 5).Value = tmp(4) 25 Loop 26 Close #1 27End Sub
表示されるエラー
実行時エラー'13':
型が一致しません
おそらく、2行目以降のデータのデータ型を指定してしまっているため、文字型である1行目の項目名がデータ型が一致せず読み込めないのかと思われます。
CSVファイルの1行目から読み込める方法を教えていただけますでしょうか。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/07 00:40
2021/04/07 01:08