Страницы: 1 2 3 4 След.
RSS
Переход на другой лист и перенос из него данных по двойному клику
 
Уважаемые знатоки экселя помогите новичку.

Задача такова :
по двойному клику на ячейке в диапазоне  "С3 : C18"  листа "Накладная" надо передти на другой лист "КатСок" в котором в диапазоне "В3 : B10" содержится перечень фамилий работников и два раза кликнув на ячейке с фамилией , фамилия работника должна перенестися на лист "Накладная" , при чем в ту ячейку на которой был сделан первый двойной клик . Если с первой частью я кое как разобрался, то вот перенести фамилию в исходную ячейку никак не могу...
 
А зачем такие сложности? Может выпадающего списка будет достаточно?
Согласие есть продукт при полном непротивлении сторон
 
Изначально была такая мысль, но это только кусочек большой книги, и таблица такого типа там не одна...т.е. тогда там будут выпадающие списки неимоверных размеров....  
 
См.файл
Изменено: Sanja - 18.03.2016 22:51:59
Согласие есть продукт при полном непротивлении сторон
 
Спасибо огромное, кажется это то что надо. А можно пару слов о том как это реализовано...
 
ПКМ по ярлыку листа - Исходный текст. В модулях листов Накладная и КатСок соответствующие макросы.

Цитата
sandiro написал: будут выпадающие списки неимоверных размеров
Вопрос - Какая разница листать выпадающий список неимоверных размеров или пролистывать второй лист в поисках нужной фамилии?
Изменено: Sanja - 08.04.2016 11:07:15
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Sanja написал:
листать выпадающий список неимоверных размеров или пролистывать второй лист в поисках нужной фамилии
Может тогда есть смысл организовать поиск нужной фамилии? )
Это вопрос автору темы.
 
Юзерформ с комбобоксом будет удобнее, мне кажется
 
Про форму согласен, только, если список большой, то я бы на форме делал ТекстБокс для ввода фамилии (части фамилии), а в ЛистБокс выводил всех подходящих. Затем клик по нужной - и в таблицу )
 
Юрий М,если данные отсортировать, то комбобокс будет сам предлагать совпадения по введенному участку текста (если не сортировать, не помню  :) )
 
Ваши комбобоксы с прочими наворотами к теме Темы не подходят  :D
Согласие есть продукт при полном непротивлении сторон
 
Огромное спасибо  Sanja, это именно то что мне надо...

Предлагаю считать тему закрытой.
 
МВТ, согласен.  Но ЛистБокс предпочтительнее в том плане, что сразу виден список )
Раз уже сделал, то выложу ))
 
Тогда я все же позволю себе выложить вариант с комбобоксом  :)
UPD сделал, чтобы был виден список
Изменено: МВТ - 19.03.2016 14:46:04
 
Народ, а подскажите ещё...если немного усложнить задачу..и листов "Накладная" будет несколько, при этом  Накладная 1, Накладная 2......по кол-ву рабочих дней в месяце.. как сделать чтоб фамилия работника возвращалась в тот лист из которого был сделан запрос.



 
 
Думаю в принципе подход надо менять. Зачем Вам хранить 30 накладных? Сделайте бланк накладной и заполняйте его по необходимости

А по вопросу см. файл (но я бы так не делал на реальных данных)
Изменено: Sanja - 21.03.2016 20:47:45
Согласие есть продукт при полном непротивлении сторон
 
Sanja, "НеВыпСпис" просто огонь! Так просто и удобно)))) а самое главное, что простота кода позволяет его легко переделать под любые подобные нужды))) остальные варианты в чём-то удобнее (особенно "Поиск и выбор" Юрия, т.к. там есть неточное совпадение), но чтобы такое изменить мне уже нужно просить помощи здесь)))
Для себя разделил подобные проблемы на категории: 1. обычный выпадающий список, привязанный к динамическому диапазону "умной" таблицы или через формулы; 2. Список соответствий и функции СМЕЩ (OFFSET) и ПОИСКПОЗ (MATCH) из Приёмов Николая Павлова http://www.planetaexcel.ru/techniques/1/38/, когда нужно слепить простенький каскад; 3. Теперь ЭТОТ способ от Sanja и, наконец, когда совсем много всего - этот мега-крутой монстр http://excelvba.ru/code/DropDownList от Nerv. Плюс различные комбинации этих вариантов. Особняком среди всего этого стоит Удобный поиск в выпадающем списке от GIG_ant и команды, за что им ОГРОМНОЕ спасибо http://planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=2&TID=8&MID=34#message34. Эта крайне дружелюбная пользователю надстройка не динамична (привязана к статичным спискам, редактируемым пользователем) и является МАТЕРЬЮ всех справочников - я, например, храню там сортаменты металлоконструкции и изделия.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack_Famous написал: "НеВыпСпис" просто огонь!
Вы еще НеВыпСпис 01 не видели  :D
Но я бы подход к решению все таки поменял
Согласие есть продукт при полном непротивлении сторон
 
Ещё раз огромная благодарность Sanja...Вы Мозг !!!
 
Всем доброго дня!!! АААфигенная тема!!! Реализовал поиск на втором листе по двойному клику на первом и еще кучу задач! Спасибо всем! На первом примере
Цитата
Sanja написал: НеВыпСпис.xlsm (17.57 КБ)
Помогите решить еще одну задачу. Что бы по двойному клику на первом листе,во второй лист добавлялась не ячейка,а строка с активной ячейкой первого листа. Буду благодарен втройне!!!!!
 
Цитата
evg_glaz написал:
Что бы по двойному клику на первом листе,во второй лист добавлялась не ячейка,а строка с активной ячейкой первого листа.
Что в данном случае Вы понимаете под строкой - все существующие на листе столбцы (16 384)? Или в пределах заданного диапазона?
 
Цитата
Юрий М написал: Что в данном случае Вы понимаете под строкой
Да, верно, в пределах заданного диапазона, но, в принципе, я вырезаю (ручками) всю строку и вставляю на другой лист
 
В общем случаем код будет выглядеть так:
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim iRow As Long
    iRow = Target.Row
    Range(Cells(iRow, 1), Cells(iRow, 10)).Copy Sheets("Лист2").Cells(iRow, 1)
    Cancel = True
End Sub
 
Юрий М, большое спасибо!!!!!!! Только вот незадача: Строка первого листа  вставляется в ту же строку второго, а не на позицию активной ячейки... И нужно,что бы копирование происходило по двойному клику только в определенном столбце, т.к. есть столбцы, где тоже работает BeforeDoubleClick, только по другим условиям.
Изменено: evg_glaz - 08.04.2016 14:20:30 (с этим разобрался)
 
Вы про какую незадачу? Я ведь сказал, что пример для общего случая.
Про активную ячейку не понял: активная - это ведь будет та, в которой мы дважды кликаем мышкой.
Про "определённый" столбец: указывайте контролируемый диапазон - в чём проблема?
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim iRow As Long
    If Not Intersect(Target, Range("D2:D100")) Is Nothing Then
        iRow = Target.Row
        Range(Cells(iRow, 1), Cells(iRow, 10)).Copy Sheets("Лист2").Cells(iRow, 1)
    End If
    Cancel = True
End Sub
Вот так будем отслеживать столбец D в диапазоне строк 2:100.
 
Юрий М, на втором листе я вставляю строки с первого листа, но не на ту же позицию, а куда необходимо. На втором листе формируется часть таблицы первого листа. И необходимо при копировании вставлять строку в определенное место. Думаю можно ориентироваться, как впервом примере данной темы, т.е. вставлять на позицию активной ячейки второго листа (которую я обозначу заранее перед копированием), ну или над ней (как происходит при обычном копировании при использовании пункта "вставить скопированные ячейки"). Или,как вариант в конец таблицы....Только не понимаю,как отследить конец. Но все же для меня оптимальный вариант - над активной ячейкой.
Изменено: evg_glaz - 08.04.2016 14:38:32
 
Вы тогда определитесь: в конец таблицы, или в ту строку, ячейка которой была активна до ухода со второго листа.
 
Цитата
Юрий М написал:
в ту строку, ячейка которой была активна до ухода со второго листа.
Да,так. Лучше как написал выше - над ней
 
Так удобнее, потому что будет возможно вставлять строку в любое место таблицы второго листа
 
А если первая строка - выше куда? )
Страницы: 1 2 3 4 След.
Читают тему
Наверх