Excel querytable adatformátum

Excel querytable adatformátum
2011-09-14T10:37:27+02:00
2011-09-14T12:14:47+02:00
2022-11-23T01:35:38+01:00
DonDani
Sziasztok!

Elakadtam excel VB-ben, remélem valaki tud nekem segíteni :)

A programom az aktuális munkafüzet egyik munkalapjára beolvas n db CSV fájlt Querytable-vel.

Így néz ki a kódrészlet, ez van n-szer meghívva:

(ezLastRow = az első üres sort tartalmazza. Azért kell, mert kívülről van meghívva a függvény)

connectionString = "TEXT;" & CSVFullPath With ActiveSheet.QueryTables.Add(Connection:=connectionString, Destination:=Cells(ezLastRow, 1)) .name = "1_hu_1" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 1250 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = False .TextFileSemicolonDelimiter = True .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With

Ez működik is rendesen, minden CSV-t szépen beolvas egymás után. A problémám az, hogy egyes cikkszámokat rosszul szed be a program. Tipikus hiba például, hogy a cikkszám eleji nullákat nem veszi figyelembe. Pl: 000005830 helyett csak 5830 lesz az eredmény. A forrásfájl és a cél munkalap cellaformázása jó, ezért gondolom én hagyok ki valamit.

Köszönöm előre is annak, aki foglalkozik vele!
Mutasd a teljes hozzászólást!
A forrásfájl és a cél munkalap cellaformázása jó


Pedig nem jó. TextFileColumnDataTypes-nál az össze mezőtípusod 1-re van állítva, ami xlGeneralFormat-nek felel meg. Ez esetben, amit számnak tud értelmezni az excel, azt számnak fogja értelmezni és ezért pl. levágja a vezető 0-kat a szám elől.

A kérdéses mező típusát xlTextFormat-re, azaz 2-re kéne állítanod, hogy szövegként kezelje minden körülmények között az adatokat az excel és nem árt, ha a kérdéses mezőnek megfelelő excel oszlop formázása is szöveg, de ez nem elengedhetetlen.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd