CSV読込
CSVを読込みエクセルのセルへ書き込む
相手に受渡やシステムからのデーターをCSVで加工できる機能が増えてきたと思われ、CSVを読込みエクセルのセルへ書き込む、VABプログラムを下記に公開します。エクセルを使えば手動でできますが、自動化していたほうが間違いも少なく何かと便利です。
プログラムの流れ
・ファイル名を選択するダイアログを表示する
・CSVファイルをオープンする
・1行ずつ読み込む
・「,」で区切って配列にする
・セルに入れる
Sub CSVを読みエクセルのセルに書き込み()
Dim strFileName As Variant
Dim intFree_data As Integer
Dim strRec_data As String
Dim strData() As String
Dim i As Long, h As Long
'ダイアログでファイル指定
strFileName = Application.GetOpenFilename(FileFilter:="CSVファイル(.csv),.csv", _Title:="CSVファイルの選択")
'キャンセルされたら作業中止
If varFileName = False Then
Exit Sub
End If
intFree_data = FreeFile '空番号を取得
'CSVファィルをオープン
Open varFileName For Input As #intFree_data
i = 0
Do Until EOF(intFree_data) 'ファイルの行数分だけループ
Line Input #intFree_data, strRec_data '1行読み込み
i = i + 1
strData = Split(strRec_data, “,") 'カンマ区切りで配列へ
For h = 0 To UBound(strData) '1レコード分ループ
Cells(i, h + 1) = strData(h) 'セルに書き込み
Next
’配列をそのまま入れる方法も、ただし全て文字列として入力される
’Range(Cells(i, 1), Cells(i, UBound(strData) + 1)) = strData
Loop
Close #intFree_data
End Sub
ディスカッション
コメント一覧
まだ、コメントがありません