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

Вход

Регистрация

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

 

= Мир MS Excel/И снова перенос строк с одного листа на другой - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
И снова перенос строк с одного листа на другой
SergeyKorotun Дата: Пятница, 02.08.2013, 23:12 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Есть форматированный текстовый файл @b*.162 (каждый день новый, но с данной маской, примерно 1000 строк в день) и две постоянные книги: rahunki_po_pdfo.xls (там несколько столбцов, использоваться будет только первый: nls; изменяться кол-во строк будет раз в году, количество строк - 100) и details_of_payment (один столбец без названия; кол-во строк 0-20 будет меняться по мере необходимости)

Нужно импортировать текстовый файл в "Лист1", предварительно очистив его, обязательно изменить кодировку на 866: Кириллица (DOS) и желательно изменить шрифт на Courier New и обработать все строки, начиная с третьей. Сначала части строки присваиваем переменным:
p3= подстроке, начиная с 1 символа длиной 6 символов (дальше буду записывать так: p3=substr(str,1,6))
p4=substr(str,7,14)
p5=substr(str,24,6)
p6=substr(str,30,14)
p7=substr(str,44,1)
p8=substr(str,48,13), преобразовать в число и разделить на 100
p9=substr(str,62,1)
p10=substr(str,63,10)
p11=substr(str,73,3)
p12=substr(str,80,2)+"."+substr(str,78,2)+".20"+substr(str,76,2) и преобразовать в дату
p13=substr(str,86,2)+"."+substr(str,84,2)+".20"+substr(str,82,2) и преобразовать в дату
p14=substr(str,88,38)
p15=substr(str,126,38)
p16=substr(str,164,229)
Значение переменных p1 и p2 для всего файла будут постоянными и их нужно считать со 2 строки этого же файла;
p1=substr(str,17,2)+"."+substr(str,15,2)+".20"+substr(str,13,2) и преобразовать в дату
p2=substr(str2,1,12)
Количество строк, которые необходимо обработать, можно считать со 2 строки:
cntrows=substr(str2,23) - c 23 позиции и до конца строки
Потом если значение p6 есть в первом столбце в rahunki_po_pdfo.xls и ни одно значение в первом столбце в details_of_payment не есть подстрокой строки p16, то значения переменных p1...p16 добавляем на лист2 и строку на 1 листе выделяем зеленым цветом. Если р6 не найдено, выделяем строку красным цветом, если же по р6 проверка успешная, а по р16 не прошло, выделяем желтым цветом.
Уточнение: лист2 чистить не нужно, данные будут накопляться на протяжении года.
Если открытие файла по маске @b*.162 затруднительно, переименуйте его в @b.162
Хотелось бы еще чтобы на 2 листе первая строка за день была выделена например светло-серым фоном, чтобы было легко визуально определять первую строку нового рабочего дня.
К сообщению приложен файл: PDFO.rar (22.3 Kb)
 
Ответить
СообщениеЕсть форматированный текстовый файл @b*.162 (каждый день новый, но с данной маской, примерно 1000 строк в день) и две постоянные книги: rahunki_po_pdfo.xls (там несколько столбцов, использоваться будет только первый: nls; изменяться кол-во строк будет раз в году, количество строк - 100) и details_of_payment (один столбец без названия; кол-во строк 0-20 будет меняться по мере необходимости)

Нужно импортировать текстовый файл в "Лист1", предварительно очистив его, обязательно изменить кодировку на 866: Кириллица (DOS) и желательно изменить шрифт на Courier New и обработать все строки, начиная с третьей. Сначала части строки присваиваем переменным:
p3= подстроке, начиная с 1 символа длиной 6 символов (дальше буду записывать так: p3=substr(str,1,6))
p4=substr(str,7,14)
p5=substr(str,24,6)
p6=substr(str,30,14)
p7=substr(str,44,1)
p8=substr(str,48,13), преобразовать в число и разделить на 100
p9=substr(str,62,1)
p10=substr(str,63,10)
p11=substr(str,73,3)
p12=substr(str,80,2)+"."+substr(str,78,2)+".20"+substr(str,76,2) и преобразовать в дату
p13=substr(str,86,2)+"."+substr(str,84,2)+".20"+substr(str,82,2) и преобразовать в дату
p14=substr(str,88,38)
p15=substr(str,126,38)
p16=substr(str,164,229)
Значение переменных p1 и p2 для всего файла будут постоянными и их нужно считать со 2 строки этого же файла;
p1=substr(str,17,2)+"."+substr(str,15,2)+".20"+substr(str,13,2) и преобразовать в дату
p2=substr(str2,1,12)
Количество строк, которые необходимо обработать, можно считать со 2 строки:
cntrows=substr(str2,23) - c 23 позиции и до конца строки
Потом если значение p6 есть в первом столбце в rahunki_po_pdfo.xls и ни одно значение в первом столбце в details_of_payment не есть подстрокой строки p16, то значения переменных p1...p16 добавляем на лист2 и строку на 1 листе выделяем зеленым цветом. Если р6 не найдено, выделяем строку красным цветом, если же по р6 проверка успешная, а по р16 не прошло, выделяем желтым цветом.
Уточнение: лист2 чистить не нужно, данные будут накопляться на протяжении года.
Если открытие файла по маске @b*.162 затруднительно, переименуйте его в @b.162
Хотелось бы еще чтобы на 2 листе первая строка за день была выделена например светло-серым фоном, чтобы было легко визуально определять первую строку нового рабочего дня.

Автор - SergeyKorotun
Дата добавления - 02.08.2013 в 23:12
KuklP Дата: Пятница, 02.08.2013, 23:51 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Это приказ кому-то конкретному?


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЭто приказ кому-то конкретному?

Автор - KuklP
Дата добавления - 02.08.2013 в 23:51
SergeyKorotun Дата: Суббота, 03.08.2013, 02:30 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
с миру по нитке
Там только написано много, а реализация не сложная.
Выделение строк цветом желательное условие, но необязательное.
Для упрощения можно обработать только р1, р6, р8, р12, р14, р16


Сообщение отредактировал SergeyKorotun - Суббота, 03.08.2013, 03:22
 
Ответить
Сообщениес миру по нитке
Там только написано много, а реализация не сложная.
Выделение строк цветом желательное условие, но необязательное.
Для упрощения можно обработать только р1, р6, р8, р12, р14, р16

Автор - SergeyKorotun
Дата добавления - 03.08.2013 в 02:30
SkyPro Дата: Суббота, 03.08.2013, 03:14 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
реализация не сложная

Так вы уже задачу решили? Поделитесь, может кому пригодится.


skypro1111@gmail.com
 
Ответить
Сообщение
реализация не сложная

Так вы уже задачу решили? Поделитесь, может кому пригодится.

Автор - SkyPro
Дата добавления - 03.08.2013 в 03:14
SergeyKorotun Дата: Суббота, 03.08.2013, 03:45 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Так вы уже задачу решили? Поделитесь, может кому пригодится.

Последние 13 лет не занимался программированием. В последнее время начал оракл изучать, но недавно базы забрали в центр и доступа к ним нет. Есть только возможность сделать некоторые стандартные выборки из программы и сохранить в ексель. Начинаю изучать ВБА. На клиппере могу написать, но там ограничение на размер файла есть да и с кодировками могут быть проблемы.
Вот если бы я кратко задачу описал: "перенести сроки из листа 1 в лист 2, если счет есть в книге А и назначение платежа не содержит подстроки с книги Б" вы бы считали бы это задание сложным?
Ну а потом позже бы еще попросил разделить строку на подстроки.
Помогите хотя бы открыть файл @B.162, изменив кодировку на 866: Кириллица (DOS) и изменить шрифт на Courier New
 
Ответить
Сообщение
Так вы уже задачу решили? Поделитесь, может кому пригодится.

Последние 13 лет не занимался программированием. В последнее время начал оракл изучать, но недавно базы забрали в центр и доступа к ним нет. Есть только возможность сделать некоторые стандартные выборки из программы и сохранить в ексель. Начинаю изучать ВБА. На клиппере могу написать, но там ограничение на размер файла есть да и с кодировками могут быть проблемы.
Вот если бы я кратко задачу описал: "перенести сроки из листа 1 в лист 2, если счет есть в книге А и назначение платежа не содержит подстроки с книги Б" вы бы считали бы это задание сложным?
Ну а потом позже бы еще попросил разделить строку на подстроки.
Помогите хотя бы открыть файл @B.162, изменив кодировку на 866: Кириллица (DOS) и изменить шрифт на Courier New

Автор - SergeyKorotun
Дата добавления - 03.08.2013 в 03:45
Michael_S Дата: Суббота, 03.08.2013, 06:40 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Помогите хотя бы открыть файл @B.162, изменив кодировку на 866: Кириллица (DOS)
Так?
Шрифт сами надеюсь поставите, какой нужно
К сообщению приложен файл: B2017Q1.162.rar (36.3 Kb)


Сообщение отредактировал Michael_S - Суббота, 03.08.2013, 06:47
 
Ответить
Сообщение
Помогите хотя бы открыть файл @B.162, изменив кодировку на 866: Кириллица (DOS)
Так?
Шрифт сами надеюсь поставите, какой нужно

Автор - Michael_S
Дата добавления - 03.08.2013 в 06:40
Hugo Дата: Суббота, 03.08.2013, 10:49 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
" и преобразовать в дату " тоже можно сделать в запросе.
Процесс создания запроса пишем в макрос.
Ну а разделить на 100, выкинуть лишние строки - это потом добавляете в макрос.
В общем кажется всё по импорту - далее обработка. Которая такая запутанная с виду, что вникать неохота.
P.S. Если здесь не получите "работу под ключ" - то советую открыть тему в http://www.excelworld.ru/forum/6
Или скажите - перенесём.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
Сообщение" и преобразовать в дату " тоже можно сделать в запросе.
Процесс создания запроса пишем в макрос.
Ну а разделить на 100, выкинуть лишние строки - это потом добавляете в макрос.
В общем кажется всё по импорту - далее обработка. Которая такая запутанная с виду, что вникать неохота.
P.S. Если здесь не получите "работу под ключ" - то советую открыть тему в http://www.excelworld.ru/forum/6
Или скажите - перенесём.

Автор - Hugo
Дата добавления - 03.08.2013 в 10:49
SergeyKorotun Дата: Воскресенье, 04.08.2013, 12:22 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Цитата (SergeyKorotun, 03.08.2013 в 02:30, в сообщении №3 писал(а)):
реализация не сложная
Так вы уже задачу решили? Поделитесь, может кому пригодится.

Делюсь.
Открыть pdfo.xls и запустить макрос
К сообщению приложен файл: 1033648.rar (55.7 Kb)
 
Ответить
Сообщение
Цитата (SergeyKorotun, 03.08.2013 в 02:30, в сообщении №3 писал(а)):
реализация не сложная
Так вы уже задачу решили? Поделитесь, может кому пригодится.

Делюсь.
Открыть pdfo.xls и запустить макрос

Автор - SergeyKorotun
Дата добавления - 04.08.2013 в 12:22
  • Страница 1 из 1
  • 1
Поиск:

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