Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.01.2009, 11:34   #1
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию Помогите чайнику с чяейками плз.

Имеется постоянно обновляемая информация, формируемая внешней программой, с произвольной переодичностью и выводимая на лист файла excel. Каждая новая запись дополняет новой строкой имеющуюся запись, примерно в таком виде "порядковый номер записи/число/число/число/text/". Text возможен только в двух вариантах "Купля" или "Продажа". Можно ли как то к событию, например worksheet_canche прикрепить обработку перемещения данных из ячеек в другие листы и ячейки в зависимости от того какой именно 'text"?
типа Если текст "Продажа" в колонке такой то, то копировать значение ячеек со строкой "Продажа" туда то, лист такой то. Если текст "Покупка" то копировать значение туда то, лист такой то.
Или так "Если на Листе 1 есть текст "Купля" то строку с этим текстом копировать туда то, а если на Листе 1 есть текст "Продажа" то строку с этим текстом копировать туда то.
zander вне форума
Старый 24.01.2009, 11:44   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Можно ли как то к событию, например worksheet_canche прикрепить обработку перемещения данных из ячеек в другие листы и ячейки в зависимости от того какой именно 'text"?
Да, можно. Только событие Worksheet_Change вряд ли подойдет (после вставки данных внешней программой это событие не всегда генерируется)
Но, если на листе будет хоть одна формула, на результат вычисления которой будут влиять добавляемые записи, то и Worksheet_Change можно использовать.

Прикрепите к сообщения пример файла - один лист с примером формируемых программно записей, и 2 листа ("Купля" и "Продажа") с примером того, как должны выглядеть листы после того, как макрос скопирует на них соответствующие строки.
EducatedFool вне форума
Старый 24.01.2009, 11:54   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

И еще, для полной ясности: слова "Купля" и "Продажа" в отдельной ячейке строки, или в конце текста ячейки?
Если второе, то контролировать можно, например, так:
Код:
If [A1] Like "*Купля" Then Rows([A1].Row).Copy Sheets(2).Rows(3)
Т.е. если в ячейке "A1" текст заканчивается словом "Купля", то строка с этой ячейкой копируется на лист 2 в строку 3.
Естественно, подставьте свои данные.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 24.01.2009, 14:29   #4
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию Вот файлик прицепил - гляньте плз.

Вложения
Тип файла: rar Книга1.rar (6.0 Кб, 10 просмотров)
zander вне форума
Старый 24.01.2009, 14:37   #5
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
И еще, для полной ясности: слова "Купля" и "Продажа" в отдельной ячейке строки, или в конце текста ячейки?
Если второе, то контролировать можно, например, так:
Код:
If [A1] Like "*Купля" Then Rows([A1].Row).Copy Sheets(2).Rows(3)
Т.е. если в ячейке "A1" текст заканчивается словом "Купля", то строка с этой ячейкой копируется на лист 2 в строку 3.
Естественно, подставьте свои данные.
Но ведь новая строка будет иметь уже не А1 а А2 потом А3 и так далее по столбцу. или это не важно?
zander вне форума
Старый 24.01.2009, 19:56   #6
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
Вопрос Выручайте други!!! Или может я что то невнятно изложил, или из файлка не совем понятно че надо?

zander вне форума
Старый 24.01.2009, 20:25   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Попробуйте такой вариант:
(лист Настройки можно сделать скрытым)

Выделите последнюю строку на листе "вход записи", и растяните её вниз на несколько строк.
Автоматически изменится результат в ячейке А1 на листе Настройки, и запустится макрос, который допишет внесенные изменения на лист Купля Продажа.

Листы переименовывать нельзя. (или надо внести изменения в макрос)
Вложения
Тип файла: rar Книга1.rar (11.1 Кб, 32 просмотров)

Последний раз редактировалось EducatedFool; 24.01.2009 в 21:08. Причина: чуточку изменил файл во вложении
EducatedFool вне форума
Старый 24.01.2009, 21:05   #8
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию Спасибо! Класс!

Вот почему то и в колонке Купля и в колонке Продажа, на листе КупляПродажа, один и тот же коментарий добавлен и к номерам сделок по покупке и к сделкам по продаже - Продажа хотя это была купля ?
zander вне форума
Старый 24.01.2009, 21:08   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Исправил. Проверяйте.
EducatedFool вне форума
Старый 24.01.2009, 22:47   #10
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию Все гудд! Респект!

Может подскажете как теперь этот замечательный макрос можно перетащить на другие листы? Где крутить? Что бы можно было заменить название листов "Вход Записи" и "КупляПродажа" и по возможности колонку? в макросе и в формуле менял названия листов менял надо еще что то?
zander вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите чайнику Леон Microsoft Office Access 4 21.07.2008 14:41
Помогите чайнику Snoopa Microsoft Office Excel 8 10.01.2008 00:10
Помогите чайнику в програмировании Нати Помощь студентам 6 18.10.2007 13:15