Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Opening CSV in Excel using VBA causes data to appear in two columns instead of one

Tags:

csv

excel

vba

I created VBA code in Excel 2007/2010 to import data from a CSV file. Unfortunately, when I open the file programmatically, the data is split into two columns (A and B) for certain rows of data.

When I open the CSV File manually, everything displays fine!

Generally the CSV data looks like this (example header row):

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 "

The data that causes problems includes a comma in the text. Here is an example:

JEAN 5 POCHES EXTENSIBLE+1,60M

Here is the code:

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

Screenshot of the problem. The stuff in red is in column B after opening the file.
enter image description here

like image 897
rohrl77 Avatar asked Sep 14 '25 22:09

rohrl77


1 Answers

Add Local:=True as argument in Workbooks.Open
Hope this might help!

like image 59
Gido Avatar answered Sep 16 '25 11:09

Gido