CSV読込

2023年6月25日エクセルVBA,プログラム言語関係

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

Posted by ピンチはピンチ