Как я вижу, вы пытаетесь импортировать один CSV в новую рабочую книгу, если это так, то вам не нужно так много кода ...
Однако, если вам нужно перебрать несколькоCSV и добавление в другую / ту же электронную таблицу, вам нужно внести некоторые изменения в ваш существующий код, или приведенный ниже.
Это работает для копирования / вставки 1: 1.
Sub ImportCSV()
Dim strSourcePath As String
Dim strDestPath As String
Dim strFile As String
Dim sourceWB As Workbook, targetWB As Workbook
Dim lastRow As Long
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
strFile = "CSV FILE NAME.csv"
'Change the path to the source folder accordingly
'strSourcePath = "C:\Path\"
strSourcePath = Application.ActiveWorkbook.Path
If Right(strSourcePath, 1) <> "\" Then strSourcePath = strSourcePath & "\"
'Change the path to the destination folder accordingly
strDestPath = Application.ActiveWorkbook.Path
If Right(strDestPath, 1) <> "\" Then strDestPath = strDestPath & "\"
'Open the CSV
Set sourceWB = Workbooks.Open(strSourcePath & strFile)
lastRow = sourceWB.Sheets(1).Cells(sourceWB.Sheets(1).Rows.Count, "B").End(xlUp).Row
'Create new workbook
Set targetWB = Workbooks.Add
'Add the data to the new workbook
targetWB.Sheets("Sheet1").Range("B1:C" & lastRow) = sourceWB.Sheets(1).Range("B1:C" & lastRow).Value
'Save the new workbook
targetWB.SaveAs Filename:=strDestPath + "Finalfile.xlsx"
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
End Sub