Качване на CSV файл в Excel лист, Excel Macros

Добавката е предназначена да улесни импортирането на данни в Excel от текстови файлове с разделители (например от CSV)

Докато в прикачения файл - обикновен Excel файл с необходимите макроси, ще публикувам добавката по-късно

Използването на функциите на файла (добавка) не е никак трудно.

Ето няколко примера:

Размер на изтегляне на прикачен файл Последно изтегляне
CSV2sheet.xls - файл с макрос за импортиране на данни от CSV в Excel45 KB327Преди 48 седмици 5 дни
csv файл (разделител - точка и запетая) за тестване на добавката16,52 KB19Преди 4 години 37 седмици

Коментари

Петър, направете поръчка на сайта, прикачете примерни файлове (изходен CSV и окончателен XLS) и опишете подробно какво трябва да работи и как.

Здравейте, интересувам се от платена редакция на скрипта на този скрипт за импортиране. За всеки ред на основния лист, от една колона, анализирайте съдържанието (написано чрез "") в отделен лист в няколко реда с ID ключа от оригиналната колона (добре, като свързани таблици в базата данни). Ще го приемеш ли? Моля за оферта на лични. С най-добри пожелания Питър

Добър ден. Моля, кажете ми как да импортирам CSV (размерът му е около 1 GB) в Excel.

Необходимо е малко да промените кода Ако сте готови да платите - пишете на пощата, аз ще направя

Добър ден Кажете ми как да направя така, че когато щракнете върху бутона "Качване на CSV файл, като се започне от първата празна клетка в първата колона", данните се разделят със запетаи и дробната част се заменя от точка на запетая (т.е. 12,13,14.5 и т.н. на 12 13 14.5)

Добър ден Третият код е подходящ за решаване на моя проблем - Качване в нова книга. Но когато правя товасъздава се нова книга с раздела "данни" и това е, раздела е празен, нищо не се разтоварва. Първо подканва да изберете .csv файл, аз избирам, след това книга с празен раздел. Можете ли да ми кажете защо се случва това? Сблъсках се с проблем, когато .csv файл се отвори ръчно, както трябва, но чрез макрос всичко е в редове. Има ли някакъв лесен начин да го отворите нормално чрез макрос? Отварям командата Workbooks.Open Name.

Същият проблем като в пост 17 - Цитати. Какво да добавите, за да премахнете кавичките? Благодаря ви предварително.

По принцип трябва да сте внимателни към кода на функцията, където е посочен разделителят, който е конкретно във вашия .csv файл. Ако разделителят е запетая, тогава пишем: Optional ByVal ColumnsSeparator$ = "," . допълнителен код. Ако точката и запетая е , тогава: Незадължителен ByVal ColumnsSeparator$ = ";" . Само в този случай ще има правилно разделяне на колони.

Повечето *.csv файлове се отварят "криво", в една колона, разделени със запетаи, без да се разбиват на колони. Необходимо ми е при отваряне на разстоянието на колоните. И аз намерих такъв макрос, но той отваря нова книга. Имам нужда и от *.csv ФАЙЛА за качване на лист от вече отворена книга. И така, попаднах на вашия макрос, реших, че трябва да го намеря. Но вашата функция и на колони не се счупи.

Тогава защо трябва да разбирате този макрос - CSV файловете в по-голямата си част се отварят като обикновена работна книга на Excel Така че просто запишете вашите действия с вградения запис на макроси в Excel - вземете макрос за отваряне на CSV файл от един ред.

Уви, докато съм нов във VBA, току-що започнах да уча. Ето защо аз не мога да направя това, както и много други невежи хора, вероятно също.

Сред параметрите на извикването на функцията има "Разделител на колони" - ако не сте го задали, той се използвастойност по подразбиране (точка и запетая или запетая, вече не помня) Посочете желания разделител - и всичко ще се отвори правилно.

Файлът .csv със сигурност се отваря, но само във вида, в който съществува. Няма разделение на колони.

Максим, имам специална добавка за вашата задача: http://excelvba.ru/programmes/Lookup

Моля, кажете ми дали е възможно да импортирате колони в съответните колони в Excel с помощта на този макрос. Например в csv 2 колони "Артикул" и "Цена" трябва да импортирате колоната с цената, с препратка към артикула, т.е. така че цената на артикула в csv да съответства на цената на артикула в ексел.

Преминете през файловете - всеки файл отделно обработва този код

Функция за получаване на списък с файлове (с пример за цикъл през намерените файлове): http://excelvba.ru/code/FilenamesCollection

Просто трябва да комбинирате тези 2 макроса

Страхотен код. Всичко работи с гръм и трясък! Как мога да го накарам да обработва група файлове? Точно сега, когато избирате csv файл, отнема само един файл.

Добър ден Благодарим ви за този скрипт. При мен почти всичко работи, само не цялата информация се разтоварва, защото първият ред е по-къс от останалите и всичките ми 1000 реда се разтоварват в шест колони. Какво трябва да се добави към кода, за да се прочете файла от втория ред или да се обработи масивът според максималната дължина на реда?

вмъква само 25 реда от csv файла, а останалите 1000 не?

Благодаря за бързата реакция!

за съжаление не мога да си представя как да добавя това към този скрипт (вече чета статията ви „как станах програмист“ :))

След реда Set fso = Nothing добавете реда Kill Filename$ ', за да изтриете файла

Благодаря ви, много удобен скрипт.

кажете ми как да добавя изтриването на обработения CSV файл? опитах по следния начин: ----------------------- Set FSO = CreateObject("scripting.filesystemobject") ' чете текст от избрания файл Set ts = FSO.OpenTextFile(Filename$, 1, True): txt$ = ts.ReadAll:[B] ts.Delete[/B] Set ts = Nothing: Set FSO = Nothing -------------------------- без резултат

вторият въпрос е как изрично да посочите файла с изходните данни?

Всичко може да се коригира.

Добавете изтриване на кавички към кода (символ с код 34), и за кодиране вземете функцията за прекодиране тук: http://excelvba.ru/code/encode

Ако не можете сами - винаги можете да поръчате решение за вашите нужди (като ми изпратите изходния CSV файл и пример за желания резултат в Excel)

Подкана след импортиране всички стойности са оградени в кавички, включително в празни клетки (пише се "") дали е възможно да се поправи това. И ако имаше кирилица в изходния файл, той се "превръща" в krakozyabry, как да коригирате кодирането.