こんにちは、よねさん
CSVデータをエクセルに書き込む場合
エクセルの最終行を取得して、追加でCSVデータを書き込む方法を教えていただきたいです。
またCSVデータには、1行目に項目行がある為、2行目からのCSVデータをエクセルに追加書き込みをしたいです。
下記のコードはネットから拾ったものです。
Sub CSV入力3()
Dim varFileName As Variant
varFileName = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", _
Title:="CSVファイルの選択")
If varFileName = False Then
Exit Sub
End If
Workbooks.Open Filename:=varFileName
ActiveSheet.Cells.Copy ThisWorkbook.ActiveSheet.Cells
ActiveWorkbook.Close SaveChanges:=False
End Sub
以上、よろしくお願いいたします。
使用されているコードはググったら↓のサイトのもののようですね。
http://excel-ubara.com/excelvba5/EXCEL111.html
全部を載せるのは憚れるので、変更箇所の説明で勘弁してください。
そのページの最初のコード Sub CSV入力1() が希望するものではないですか?
Sub CSV入力1() に追加(一部修正)するだけでよさそうです。
Open varFileName For Input As #intFree 'CSVファィルをオープン
の行の下に、この3行を追加。i=0 は変更。
Dim lRow As Long
lRow = Cells(Rows.Count, 1).End(xlUp).Row
i = lRow
Loop の行の下にこの1行を追加
Rows(lRow + 1).Delete
これでいかがでしょうか?