Страницы: 1
RSS
Формирование листа запроса к поставщику.
 
Привет. К сожалению нехватает знаний и времени решить некоторые задачи с эксель. Судя по присутсвующим тут гуру, проблем с их решением возникнуть не должно. Готов отблагодарить. Заинтерисованным прошу писать в icq (222708536).
 
озвучили хотяб задачу.. если уж не вознаграждение.
Живи и дай жить..
 
Так как мои знания ограничиваются несложными формулами, решить задачи для меня сечас сложновато. Есть несколько задач...    
 
Например:  
У меня имеется книга с несколькими (порядка 12) листами. Каждый лист содержит информацию по проекту (дизайн) какого либо помещения (например гостинная). На каждом листе присутсвуют списки комплектации, для удобства они сгруппированы по группам (отделка, мебель и т.д.) По задумке, при утверждении заказчиком одного из предложенных вариантов, в соответсвующей ячейке столбца, из выпадающего списка выбирается "да", и данный (утвержденный) элемент выводиться на другой лист, для формирования листа запроса к поставщику. Помимо названия комплектации в отдельном столбце присутсвуют её параметры (габариты, цвет, материал).    
Эти данные также должны выводиться на лист к поставщику, но в разные столбцы (отдельно цвет, отдельно материал, отдельно габариты).    
Подобный лист содержит данные по всем помещениям задействованным в проекте (например в конкретном проекте 5 помещений из 12 возможных), но для каждого вида комплектации (отделка, мебель) формируется свой лист.    
Хорошо, если по нажатию кнопки можно было отправить запрос на один или несколько e-mail адресов выбранных например из именованного списка.    
 
Я вижу это так =)    
Возможно я не совсем понятно изъясняюсь, но думаю, что при личной переписке картина проясниться более четко.    
 
Еще одна из задач (думаю, она тоже реализуема при помощи макросов), это двусторонняя связь ячеек на разных листах. При изменении значения ячейки на одном листе, это значение возвращается на определенную ячейку другого листа и наоборот.    
Применить макрос из данной (http://www.planetaexcel.ru/forum.php?thread_id=31151) темы мне неудалось, видимо, в связи с абсолютным незнанием VBA.  
 
Также нужна небольшая консультация по функции ВПР, но это уже лучше тет-а-тет, чтобы не перегружать топик =)    
 
Заранее спасибо!
 
напишите мне на мыло (оно в подписи)
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Вариант кода по связи ячеек:  
в модуль "ЭтаКнига" (можно скопировать код целиком, а можно событие выбрать из выпадающих списков в редакторе и наполнить содержимым):  
 
 
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)  
   Application.EnableEvents = False  
 
   If Sh.Name = "Лист1" Then  
       If Target.Address = "$A$1" Then Sheets("Лист2").[a1] = Target.Value
   End If  
 
   If Sh.Name = "Лист2" Then  
       If Target.Address = "$A$1" Then Sheets("Лист1").[a1] = Target.Value
   End If  
 
   Application.EnableEvents = True  
End Sub  
 
 
Думаю тут даже комментировать нечего. Разве что Application.EnableEvents - это отключение/включение событий, чтоб на изменения, внесённые кодом, он же не реагировал.
 
Уважаемые форумчане, заранее хочу поблагоарить всех тех, кто откликнулся или откликнеться на мои просьбы. Без Вас решить подобные задачи для меня не по силам. Может кто посоветует хорошую литературу по макросам, на Русском языке? Спасибо!    
 
По поводу макроса...    
У меня не работает =( Хотя допускаю, что делаю что-то не так. В качестве примера. На Лист1 в ячейке С17 выпадающий список из именнованого диапазона. На Лист2, в ячейке E17 аналогичный выпадающий список из того-же самого диапазона. Добавляю макрос в книгу, откорректировав предварительно адреса ячеек в макросе. Макрос отказывается работать. Кстати, как Вы уже знаете, у меня присутсвует 12 листов, один из них содержит общую информацию с других листов. Мне необходимо подобным образом прописывать связи ко всем парам нужных мне ячеек?
 
Сделайте пример файла для форума - посмотрим.
 
Прикрепил пример таблички...
 
Прикрепил пример таблички...
 
И где неудавшийся макрос?  
 
Для [B1:B6]:
 
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)  
   Application.EnableEvents = False  
 
   If Sh.Name = "Прихожая" Then  
       If InStr("$B$1 $B$2 $B$3 $B$4 $B$5 $B$6", Target.Address) Then Sheets("Гостинная").[B1:B6].Value = Sheets("Прихожая").[B1:B6].Value
   End If  
 
   If Sh.Name = "Гостинная" Then  
       If InStr("$B$1 $B$2 $B$3 $B$4 $B$5 $B$6", Target.Address) Then Sheets("Прихожая").[B1:B6].Value = Sheets("Гостинная").[B1:B6].Value
   End If  
 
   Application.EnableEvents = True  
End Sub
 
Hugo спасибо за совет, попробую. Я не говорил что он неудавшийся, я просто сказал что возможно, что-то делаю не так. Сейчас попробую еще раз. По остальным вопросам указанным в примере, есть какие нибудь мысли? Еще раз спасибо!
 
В остальные не вникал.  
Да и в этом ещё нужно сделать связь с первым листом - логику можно не менять, но "приравнивать" значения сложнее, т.к. диапазоны не идентичны, поэтому писать нужно много. Сегодня неохота :)
Страницы: 1
Читают тему
Наверх