使用 VBA 在 Excel 中打开 CSV 会导致数据显示在两列而不是一列中

roh*_*l77 4 csv excel vba

我在 Excel 2007/2010 中创建了 VBA 代码以从 CSV 文件导入数据。不幸的是,当我以编程方式打开文件时,某些数据行的数据被分为两列(A 和 B)。

当我手动打开 CSV 文件时,一切都显示正常!

一般来说,CSV 数据如下所示(示例标题行):

TBWAKT;“TBWAKO”;“TBSAIS”;“TBSKU9”;“TBSMOD”;“TBLETT”;“TBKBNR”;“TBBEZ2”;“TBFAR2”;“TBSUGC”;“
TBSOGC”;“TBEINK”;“TBKBGR”; “TBKBGF”;“TBVKPE”;“TBVKPR”;“TBEKPE
”;“TBAUAN”;“TBFAAN”;“TBREAN”;“TBSTAN”;“TBRUAN”;“TBKPAG”;“TBERDT”;“TBDATV”;“TBDATB” ”

导致问题的数据在文本中包含逗号。这是一个例子:

JEAN 5 袋可扩展+1.60M

这是代码:

Private Sub OpenCSV(x As Integer, wkbDashboard As String, wkbCsvImport As String, wksDestination As Worksheet)
' Opens CSV and copies data to current workbook
Dim wkbCsvImportName As String
Dim r As Range

Workbooks(wkbDashboard).Activate

' Open and read CSV
Workbooks.Open Filename:=wkbCsvImport, Format:=xlDelimited, Delimiter:=";"
wkbCsvImportName = ActiveWorkbook.Name
Run Code Online (Sandbox Code Playgroud)

问题的屏幕截图。打开文件后,红色的东西在B栏中。
在此输入图像描述

小智 5

添加Local:=True作为参数Workbooks.Open
希望这可能会有所帮助!