Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Копирование значений из нескольких CSV файлов по условию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование значений из нескольких CSV файлов по условию (Макросы/Sub)
Копирование значений из нескольких CSV файлов по условию
Nikolay86 Дата: Вторник, 18.04.2017, 09:55 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Доброго времени суток уважаемые форумчане. В очередной раз необходима помощь :)
Есть несколько CSV файлов с данными (1.csv, 2.csv в примере), необходимо из этих файлов скопировать строки в книгу Excel (result) по следующему условию: Если строка содержит слова - "Не решено" или "Закрыто" в столбце 'G' и слова - "Москва", "Московская область" или "Тверская область" в столбце 'I', то строку целиком копируем в книгу "result".
На выходе должна получиться книга "result" со всеми строками подходящими под условие из всех файлов CSV (фактически их больше двух).
Большое спасибо. :)
К сообщению приложен файл: test.rar (9.1 Kb)
 
Ответить
СообщениеДоброго времени суток уважаемые форумчане. В очередной раз необходима помощь :)
Есть несколько CSV файлов с данными (1.csv, 2.csv в примере), необходимо из этих файлов скопировать строки в книгу Excel (result) по следующему условию: Если строка содержит слова - "Не решено" или "Закрыто" в столбце 'G' и слова - "Москва", "Московская область" или "Тверская область" в столбце 'I', то строку целиком копируем в книгу "result".
На выходе должна получиться книга "result" со всеми строками подходящими под условие из всех файлов CSV (фактически их больше двух).
Большое спасибо. :)

Автор - Nikolay86
Дата добавления - 18.04.2017 в 09:55
doober Дата: Вторник, 18.04.2017, 12:08 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.Тестируйте.
К сообщению приложен файл: result.xlsm (20.2 Kb)


 
Ответить
СообщениеЗдравствуйте.Тестируйте.

Автор - doober
Дата добавления - 18.04.2017 в 12:08
Nikolay86 Дата: Среда, 19.04.2017, 09:52 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
doober, Добрый день и спасибо, но так не подходит, нужно выборку проводить только по столбцам "G" и "I", т.к. в строках могут встречаться ключевые слова ("Закрыто", "Не решено" ...) и в других столбцах, в этом случае результат будет некорректен. :(
 
Ответить
Сообщениеdoober, Добрый день и спасибо, но так не подходит, нужно выборку проводить только по столбцам "G" и "I", т.к. в строках могут встречаться ключевые слова ("Закрыто", "Не решено" ...) и в других столбцах, в этом случае результат будет некорректен. :(

Автор - Nikolay86
Дата добавления - 19.04.2017 в 09:52
doober Дата: Среда, 19.04.2017, 11:27 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Тогда так.




Сообщение отредактировал doober - Среда, 19.04.2017, 11:27
 
Ответить
СообщениеТогда так.

Автор - doober
Дата добавления - 19.04.2017 в 11:27
Nikolay86 Дата: Среда, 19.04.2017, 17:05 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Спасибо, стал запускать с примером - работает, а вот с оригинальными файлами -нет, нашел разницу - в примере разделитель ";" , а в оригинальных файлах разделитель TAB
Код
ZX = Split(strNextLine, ";")

Так понимаю тут надо разделитель поменять?
Меняю на
Код
ZX = Split(strNextLine, vbTab)

не заполняет, может не так меняю?
 
Ответить
СообщениеСпасибо, стал запускать с примером - работает, а вот с оригинальными файлами -нет, нашел разницу - в примере разделитель ";" , а в оригинальных файлах разделитель TAB
Код
ZX = Split(strNextLine, ";")

Так понимаю тут надо разделитель поменять?
Меняю на
Код
ZX = Split(strNextLine, vbTab)

не заполняет, может не так меняю?

Автор - Nikolay86
Дата добавления - 19.04.2017 в 17:05
Матраскин Дата: Среда, 19.04.2017, 17:13 | Сообщение № 6
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Nikolay86, а если не vbTab, а [vba]
Код
Chr(9)
[/vba] использовать?


в интернете опять кто-то не прав
 
Ответить
СообщениеNikolay86, а если не vbTab, а [vba]
Код
Chr(9)
[/vba] использовать?

Автор - Матраскин
Дата добавления - 19.04.2017 в 17:13
Nikolay86 Дата: Четверг, 20.04.2017, 13:17 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Нет, Chr(9) тоже не подходит. Проблема в том, что я еще и пример не могу создать нормальный, с исходным разделителем =((


Сообщение отредактировал Nikolay86 - Четверг, 20.04.2017, 13:17
 
Ответить
СообщениеНет, Chr(9) тоже не подходит. Проблема в том, что я еще и пример не могу создать нормальный, с исходным разделителем =((

Автор - Nikolay86
Дата добавления - 20.04.2017 в 13:17
RAN Дата: Четверг, 20.04.2017, 14:04 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Возможно, причина в кодировке
[vba]
Код
Set objTextFile = objFSO.OpenTextFile(Item(n), 1,-2)
[/vba]
или
[vba]
Код
Set objTextFile = objFSO.OpenTextFile(Item(n), 1,-1)
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВозможно, причина в кодировке
[vba]
Код
Set objTextFile = objFSO.OpenTextFile(Item(n), 1,-2)
[/vba]
или
[vba]
Код
Set objTextFile = objFSO.OpenTextFile(Item(n), 1,-1)
[/vba]

Автор - RAN
Дата добавления - 20.04.2017 в 14:04
Nikolay86 Дата: Пятница, 21.04.2017, 09:52 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Нет, так тоже не выходит((
 
Ответить
СообщениеНет, так тоже не выходит((

Автор - Nikolay86
Дата добавления - 21.04.2017 в 09:52
doober Дата: Пятница, 21.04.2017, 10:07 | Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Оставите в файле -оригинале пару строк.
Если секреты, то замените любыми словами,сохраните и на опреционный стол подавайте.


 
Ответить
СообщениеОставите в файле -оригинале пару строк.
Если секреты, то замените любыми словами,сохраните и на опреционный стол подавайте.

Автор - doober
Дата добавления - 21.04.2017 в 10:07
Nikolay86 Дата: Пятница, 21.04.2017, 11:17 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
замените любыми словами,сохраните и на опреционный стол подавайте

Так, вроде получилось создать корректный пример.
И еще, первая строка с заголовками ("Статус","Заявитель", "Местоположение" и.т.д) хотелось чтобы тоже присутствовала в книге результата :) :)
К сообщению приложен файл: Primer.csv (3.6 Kb)
 
Ответить
Сообщение
замените любыми словами,сохраните и на опреционный стол подавайте

Так, вроде получилось создать корректный пример.
И еще, первая строка с заголовками ("Статус","Заявитель", "Местоположение" и.т.д) хотелось чтобы тоже присутствовала в книге результата :) :)

Автор - Nikolay86
Дата добавления - 21.04.2017 в 11:17
doober Дата: Пятница, 21.04.2017, 13:22 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
хотелось

Если хотелось, то будет присутствовать.
У Вас кодировка utf-16, разделитель табуляция
К сообщению приложен файл: 3549756.xlsm (22.0 Kb)


 
Ответить
Сообщение
хотелось

Если хотелось, то будет присутствовать.
У Вас кодировка utf-16, разделитель табуляция

Автор - doober
Дата добавления - 21.04.2017 в 13:22
Nikolay86 Дата: Вторник, 25.04.2017, 13:02 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Добрый день. Долго не мог проверить, извиняюсь :( .
К сообщению приложен файл: 3549756.xlsm

Данный вариант стал копировать строки из оригинальных файлов правильно (и первую тоже :D ), но почему-то "засыпает" первую строку книги с результатом данными из оригинальных файлов до пятисотого столбца где-то (очень много).
С примером ошибки к сожалению нет времени возиться. Так что спасибо еще раз большое doober. Да и хватит наверно))

P.s. Я еще и не знаю как этот пример сделать, опять получиться что в примере работает, а в оригинале - нет.))


Сообщение отредактировал Nikolay86 - Вторник, 25.04.2017, 13:09
 
Ответить
СообщениеДобрый день. Долго не мог проверить, извиняюсь :( .
К сообщению приложен файл: 3549756.xlsm

Данный вариант стал копировать строки из оригинальных файлов правильно (и первую тоже :D ), но почему-то "засыпает" первую строку книги с результатом данными из оригинальных файлов до пятисотого столбца где-то (очень много).
С примером ошибки к сожалению нет времени возиться. Так что спасибо еще раз большое doober. Да и хватит наверно))

P.s. Я еще и не знаю как этот пример сделать, опять получиться что в примере работает, а в оригинале - нет.))

Автор - Nikolay86
Дата добавления - 25.04.2017 в 13:02
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование значений из нескольких CSV файлов по условию (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!