Существуют ли какие-то механизмы в Экселе действия от противного ? есть таблица куда заносятся данные допустим в 20 ячеек (в строку) все это будет пренадлежит Пете во второй таблице задаем что эта ячейка равна той ячейке в которой написано Петя. потом хочу переместить этого петю во второй таблице в другое место и хочу чтобы в первой он переместился туда же вместе со всеми значениями из строки которая принадлежит ему. Может можно написать какой-то скрипт или макрос ? или так никто не делает ?
В надежде на то что понятно изложил и что бывает решение Спасибо.
Здравствуйте.
Существуют ли какие-то механизмы в Экселе действия от противного ? есть таблица куда заносятся данные допустим в 20 ячеек (в строку) все это будет пренадлежит Пете во второй таблице задаем что эта ячейка равна той ячейке в которой написано Петя. потом хочу переместить этого петю во второй таблице в другое место и хочу чтобы в первой он переместился туда же вместе со всеми значениями из строки которая принадлежит ему. Может можно написать какой-то скрипт или макрос ? или так никто не делает ?
В надежде на то что понятно изложил и что бывает решение Спасибо.koyaanisqatsi
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("N1:N10"), Target) Is Nothing Then If Target <> "" Then For i = 1 To Range("A" & Rows.Count).End(xlUp).Row If Range("A" & i) = Target Then Exit For Next i Range("A" & i & ":L" & i).Copy (Sheets(1).Range("A" & Target.Row)) Range("A" & i & ":L" & i).ClearContents Range("N" & i).ClearContents End If End If End Sub
[/vba]
Можно макросом по событию Worksheet_Change [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("N1:N10"), Target) Is Nothing Then If Target <> "" Then For i = 1 To Range("A" & Rows.Count).End(xlUp).Row If Range("A" & i) = Target Then Exit For Next i Range("A" & i & ":L" & i).Copy (Sheets(1).Range("A" & Target.Row)) Range("A" & i & ":L" & i).ClearContents Range("N" & i).ClearContents End If End If End Sub
AlexM, Огромное спасибо. Почти работает. Во всяком случае вектор мысли правильный.
Нашел пока одну проблему в этом макросе. Если нажал делит в короткой второй таблице а потом нажал анду то вся строчка пропадает в первой таблице это не допустимо. Во первых надо чтоб анду всегда правильно работало. Во вторых потерия данных недопустима. Все же это серьезная вещь. На конку же стоит питание детей в Детских садах и больницах. Еще одно Этот файл доступен по сети нескольким пользователям. Макрос будет работать в таком режиме ? И еще. Я не понял какая из ячеек на какую ссылается. Просто я думал что должно быть возможным корректировать в основной таблице значение кому. А второстепенная будет равна оригиналу. Но теоретически можно и обратную зависимость сделать, только пока непонятно какие будут подводные камни если в основной ссылаться на второстепенную....
а про эту ВПР() функцию вы знаете ? это не то что надо ?
Спасибо.
AlexM, Огромное спасибо. Почти работает. Во всяком случае вектор мысли правильный.
Нашел пока одну проблему в этом макросе. Если нажал делит в короткой второй таблице а потом нажал анду то вся строчка пропадает в первой таблице это не допустимо. Во первых надо чтоб анду всегда правильно работало. Во вторых потерия данных недопустима. Все же это серьезная вещь. На конку же стоит питание детей в Детских садах и больницах. Еще одно Этот файл доступен по сети нескольким пользователям. Макрос будет работать в таком режиме ? И еще. Я не понял какая из ячеек на какую ссылается. Просто я думал что должно быть возможным корректировать в основной таблице значение кому. А второстепенная будет равна оригиналу. Но теоретически можно и обратную зависимость сделать, только пока непонятно какие будут подводные камни если в основной ссылаться на второстепенную....
а про эту ВПР() функцию вы знаете ? это не то что надо ?
Если это реальная задача на автоматизацию - я подозреваю, что надо менять схему хранения данных. А то вы начинаете управлять исходными данными как результатами - а вот это как раз недопустимо...
Если это реальная задача на автоматизацию - я подозреваю, что надо менять схему хранения данных. А то вы начинаете управлять исходными данными как результатами - а вот это как раз недопустимо...AndreTM
Если это реальная задача на автоматизацию - я подозреваю, что надо менять схему хранения данных. А то вы начинаете управлять исходными данными как результатами - а вот это как раз недопустимо...
А можно попонятнее для тупых ? (на что можно заменить ? )
Да это реальная задача на автоматизацию. И да мне надо получать результат из исходных данных. причем на промежуточном звене. Дальше эти данные должны пойти в бухгалтерию (накладные).
Если это реальная задача на автоматизацию - я подозреваю, что надо менять схему хранения данных. А то вы начинаете управлять исходными данными как результатами - а вот это как раз недопустимо...
А можно попонятнее для тупых ? (на что можно заменить ? )
Да это реальная задача на автоматизацию. И да мне надо получать результат из исходных данных. причем на промежуточном звене. Дальше эти данные должны пойти в бухгалтерию (накладные).koyaanisqatsi
AlexM, я открываю ваш файл в 2010том офисе. написано открыт в режиме совместимости. иногда пропадают значения даже просто при копировании туда сюда. Строчка не помогла которую вы предложили впаять. Реально ли написать на байсике такое правило чтобы все работало железно ?
В идеале было бы здорово чтобы вообще нельзя было удалить получателя. Отмена с историей так и не стала активной
AlexM, я открываю ваш файл в 2010том офисе. написано открыт в режиме совместимости. иногда пропадают значения даже просто при копировании туда сюда. Строчка не помогла которую вы предложили впаять. Реально ли написать на байсике такое правило чтобы все работало железно ?
В идеале было бы здорово чтобы вообще нельзя было удалить получателя. Отмена с историей так и не стала активной koyaanisqatsi
Сообщение отредактировал koyaanisqatsi - Среда, 02.10.2013, 23:22
koyaanisqatsi, Вы разместили заказ на решение этой задачи в разделе платных услуг, а здесь даже не проинформировали об этом. Как-то это "не комильфо". Алексей-то Вам помогает бесплатно
koyaanisqatsi, Вы разместили заказ на решение этой задачи в разделе платных услуг, а здесь даже не проинформировали об этом. Как-то это "не комильфо". Алексей-то Вам помогает бесплатноPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Pelena, Алексей мне сказал что ему не интересно заглядывать во фриланс и Алексей же мне посоветовал эту (фриланс) ветку вашего форума. Просто я Алексея знаю не только по вашему форуму. И мы общались с Алексеем и ранее по эл почте. Я еще ни разу не прибегал к платным услугам и по этому не ориентируюсь в ценах. К томуже не факт что я смогу потянут предложенную суму если там кто-то откликнется. Еще мне кажется что это что-то очень простое и возможно кто-то и бесплатно сможет помочь объяснить как в таком случае можно воспользоватся функцией ВПР()
Я ни в коей мере не хотел никого обидеть. А за помощь я бывало и платил сколько мог из своей же зарплаты. (борода не даст соврать)
Pelena, Алексей мне сказал что ему не интересно заглядывать во фриланс и Алексей же мне посоветовал эту (фриланс) ветку вашего форума. Просто я Алексея знаю не только по вашему форуму. И мы общались с Алексеем и ранее по эл почте. Я еще ни разу не прибегал к платным услугам и по этому не ориентируюсь в ценах. К томуже не факт что я смогу потянут предложенную суму если там кто-то откликнется. Еще мне кажется что это что-то очень простое и возможно кто-то и бесплатно сможет помочь объяснить как в таком случае можно воспользоватся функцией ВПР()
Я ни в коей мере не хотел никого обидеть. А за помощь я бывало и платил сколько мог из своей же зарплаты. (борода не даст соврать)koyaanisqatsi
Сообщение отредактировал koyaanisqatsi - Четверг, 03.10.2013, 17:25
сможет помочь объяснить как в таком случае можно воспользоватся функцией ВПР()
Функция ВПР() сможет помочь, если в первой таблице столбец А будет содержать перечень всех получателей, а вторая таблица будет связана с диапазоном N16:N22 формулами. Тогда изменяя расположение получателей в этом диапазоне, будем менять порядок строк во второй таблице. Диапазон N5:N11 не поняла зачем.
сможет помочь объяснить как в таком случае можно воспользоватся функцией ВПР()
Функция ВПР() сможет помочь, если в первой таблице столбец А будет содержать перечень всех получателей, а вторая таблица будет связана с диапазоном N16:N22 формулами. Тогда изменяя расположение получателей в этом диапазоне, будем менять порядок строк во второй таблице. Диапазон N5:N11 не поняла зачем.Pelena
Pelena, Задача в том что зная массу перевозимого товара иногда приходится перекидывать получателей с одной машины на другую. Если уже разнесли заявки на одну точку то надо теперь в случае перегруза перенести одну точку на другого водителя. Это можно сделать руками копируя всю строчку вместе с разнесенной заявкой или можно сделать в атоматическом режиме перенеся во второй таблице точку на другого водителя и чтобы заявка примагнителсь к переносимой точке.
Pelena, Задача в том что зная массу перевозимого товара иногда приходится перекидывать получателей с одной машины на другую. Если уже разнесли заявки на одну точку то надо теперь в случае перегруза перенести одну точку на другого водителя. Это можно сделать руками копируя всю строчку вместе с разнесенной заявкой или можно сделать в атоматическом режиме перенеся во второй таблице точку на другого водителя и чтобы заявка примагнителсь к переносимой точке.koyaanisqatsi
Pelena, это все получатели просто условно если есть желание посмотреть могу предоставить исходиник Вкладка "Овощи" столбец А1 это получатели Вкладка "Рейсы" раскладка по водителям всех получаетелей первая таблица без весов каждого получателя вторая с весами. Снизу количество точек и общая масса данного рейса. Хочется в вкладке "Овощи" вообще защитить ячейки от изменений А1 (получатели) а то уже был прицендент переименовать получателя в 70 (кг картошки ) а это получается два 70 получателя что естественно не приемлемо.
То есть если управлять из вкладки "Рейсы" то мы можем облегчить задачу работника пенсионера который о компьютере то знает по наслышке. оригинал пример.
Спасибо.
Pelena, это все получатели просто условно если есть желание посмотреть могу предоставить исходиник Вкладка "Овощи" столбец А1 это получатели Вкладка "Рейсы" раскладка по водителям всех получаетелей первая таблица без весов каждого получателя вторая с весами. Снизу количество точек и общая масса данного рейса. Хочется в вкладке "Овощи" вообще защитить ячейки от изменений А1 (получатели) а то уже был прицендент переименовать получателя в 70 (кг картошки ) а это получается два 70 получателя что естественно не приемлемо.
То есть если управлять из вкладки "Рейсы" то мы можем облегчить задачу работника пенсионера который о компьютере то знает по наслышке. оригинал пример.