|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.05.2018, 19:54 | #1 |
Пользователь
Регистрация: 05.05.2018
Сообщений: 10
|
[РЕШЕНО][VB] Обновление данных листов по временно загруженному
Здравствуйте господа програмисты,
Прошу помочь мне с нелегкой ситуацией. А ситуация такая: У меня список позиций и их статус, например 1ХБ2311 УСТАНОВЛЕН ПОДКЛЮЧЕН НАСТРОЕН И иногда я получаю данные которые надо подгрузить, а так как строчек много, и все это разбито на 6 листов (территорий) то вручную довольно болезненно. Идея иметь пустой лист, куда если подгрузить данные и нажать запуск программы, она прошерстит позиции, найдет совподения в листах, и обновит данные в последующих столбак если есть не пустая загружаемая инфромация. Но если ячейка в загружаемом листе пуста, не тронет и прежную. За русский великий и могучий сразу глубоко извиняюсь, не родной мне язык. Выручите, люди добрые. |
05.05.2018, 22:27 | #2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Только Вам нужно подготовить тестовый файл. В нём разместить нужные данные и описать, что и куда должно пойти, что должно обновится. Пример можно сделать небольшой и условный (вместо настоящих данных поместить туда просто набор тестовых данных, аналогичных настоящим). Можно ещё сделать одни файл, в котором разместить тот результат, который должен получиться после обработки листа макросом. Нужно больше подробностей и конкретики. Файл можно запаковать в архив и архив прикрепить к сообщению на форму (см. Расширенный режим - Управление вложениями). Тогда есть шанс получить более-менее работающий макрос. |
|
07.05.2018, 04:28 | #3 |
Пользователь
Регистрация: 05.05.2018
Сообщений: 10
|
Спасибо за совет. Файл прикрепил, из него все вычестил что не надо, там буквально пару строк и листов.
Может кто сможет написать? |
07.05.2018, 08:51 | #4 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
List1-List3 зачем? Ведь, судя по файлу, читать надо только DATA LOAD.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
07.05.2018, 09:35 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Рискну высказать свои предположения,
как я понял то, что требуется автору топика. Цитата:
Как разбрасывать - тоже понятно - ищем совпадение по полю Name, столбец с заполненными данными из DATA LOAD записываем в лист, где нашли нужное наименование. единственное, у меня вызывает небольшое сомнение вот это: Я это понимаю так, если на List1-List3 нашли нужное наименование, но в нужном столбце там пусто, то ничего туда не записываем, даже если есть данные в DATA LOAD. |
|
07.05.2018, 09:58 | #6 | |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Цитата:
после работы макроса АААА каким будет Код:
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. Последний раз редактировалось Aleksandr H.; 07.05.2018 в 10:03. |
|
07.05.2018, 10:41 | #7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
имхо, это от незнания как и где можно запускать макрос.
Цитата:
плохо, что в тестовом примере нет ни одного случая, когда Впрочем, что это я за ТС отвечаю. Пусть он сам отвечает на эти вопросы. я же могу ошибаться! |
|
07.05.2018, 11:09 | #8 | ||
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Цитата:
Цитата:
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
||
07.05.2018, 16:10 | #9 |
Пользователь
Регистрация: 05.05.2018
Сообщений: 10
|
Простите за мунтые обьяснения.
Идея такова, чтобы из DATA LOAD списка записывались только НЕ пустые ячейки. Так как списки у меня с информацией там и сям, которую надо внести в старые. Если будет писать все, то постирает существующие ячейки в List1, List2 и т.д. Или например есть информация не проверенная, я ее до загрузки сотру, пока не получу проверенную, и обновится лиш та, что есть в ячейках. Иными словами не имеет значения если ячейка пуста в List1 и подобных, я для скрипта имеет значение только DATA LOAD, if empty do nothing. Именно по этому в примере DATA LOAD информации не много, буквально в паре ячеек. Да, именно! И по поводу MacroRun это так, идея иметь кнопку, которой скрипт запускется, чтобы он это сразу не делал когда вставляется (CTRL+V) новая информация, а только после нажатия кнопки. P.S. По поводу канонов, может и смешно, но вот я вам по опыту скажу, чтоб ты не спросил у иностранцев, помощь там почти не реально получить пока сам не научишся писать код, и половину худо бедно не напишеш. Я такое может тоже от части понимаю, но както не по-людски чтоли.. Так что вам спасибо за активное участие и помощь! Watch : : warnString : <Can't compile module> : Empty : Module2.Makro1 Удалил строку, If warnString <> "" Then warnString, и код заработал! И выдает Overflow ошибку если работаю с 294 строками. Можно исправить? UPD: Dim i as Long - помогло вроде обойти Overflow ошибку. Извините за борзоту, но можно както сделать так чтобы было понятно что скрипт закончил и какие позиции были обновлены? Например покрасил бы ячейки в зеленый в DATA LOAD у которых были совпадения (столбик Name)? Ну например у меня в основном списке вообще нет такой позиции.. А вообще спасибо вам всем, и особенно Александру - огрмоное человеческое спасибо!!!! Все работает, и это мне так сильно облегчило жизнь! Последний раз редактировалось Вадим Мошев; 20.05.2018 в 18:59. |
07.05.2018, 20:19 | #10 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
1. Чтобы уведомить что макрос закончил работу, вместо той строки, котороая ошибку выдавала и вы ее удалили, напишите
Код:
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сверка данных с разных листов | serjloskut | Microsoft Office Excel | 4 | 06.09.2017 12:53 |
Очистка листов от данных | and150382 | Microsoft Office Excel | 3 | 14.02.2013 21:15 |
Копирование данных из 2-ух листов в один | Marishka2011 | Microsoft Office Excel | 0 | 01.04.2011 16:32 |
Суммирование данных с разных листов | S_P_N | Microsoft Office Excel | 12 | 02.06.2010 18:23 |
Обновление списка данных без потери данных в переменных | VaBank | БД в Delphi | 13 | 03.06.2009 10:47 |