Страницы: 1
RSS
[ Закрыто ] Автоматическое обновление ранее введенных значений из выпадающего списка при его изменении
 
Собственно вопрос в шапке темы, прилагаю файл с простыми набросками по вопросу моему. Кратко о файле: на листе "Настройка" в столбце А написаны полные названия, в столбце B пользователь может выбрать любое удобно ему сокращение. На листе "Главная" в столбце С само расширяющийся выпадающий список (можно даже было на примере простого выпадающего списка сделать), который при изменении на листе "Настройка" изменяется и сам соответственно, но ранее выбранные из списка значения не меняются. Очень хотелось бы сделать так, чтобы эти значения на листе "Главная" в столбце С, которые были выбраны из старого списка, были заменены на новые, вписанные пользователем на листе "Настройка" в столбце B. Как я понимаю, это делается макросами через VBA, но макросы писать я не умею, только через рекордер и вставлять готовые... По данному вопросу ничего не нашел, но примерно выкладывали работу (вроде на Вашем форуме) про словарик, где при смене языка меняются и ранее введенные из списка русские слова на английские и др. языки (включая и выборку в самом списке). К сожалению код переписать под свой вопрос мне не удалось, поэтому пишу тут, в надежде может кто поможет.
 
если я все правильно понял, что вы хотите.....
то это можно реализовать так.
обновлять данные измененные в словаре нужно по кнопке.
За уникальность данных в словаре вы сами отвечаете
 
Спасибо, очень близко, но вот мне нужно, чтобы в табличке на листе "Главная" значения в поле (столбце) "Процедура" (D3:D6) изменили название на те, которые написаны в Вашем примере на листе "Настройка" в поле С4:С8. То есть на листе "Главная" мне нужно, чтобы ранее введенные значения из списка по этому полю заменились на новые, которые сейчас находятся в списке (длинные названия на аббревиатуры там, "КП", "МС", "ВУ" и т.д.).
В Вашем примере макрос (при нажатии кнопки "обновить") подтягивает значения из B4:B8, не подскажите что изменить нужно, чтобы он брал значения с C поля, а не с B? А то я сейчас попробовал поменять, у меня не вышло... И такой момент еще, обязательно на листе "Настройка" должно быть добавлено поле в таблице "id"? Его конечно можно скрыть, чтобы не мешало, но может оно и вообще не нужно?
Изменено: Born777 - 14.09.2014 01:48:58
 
если таким макросом...
(Alt+F8 ... и  выполнить макрос dic_update)
Изменено: JeyCi - 14.09.2014 11:43:13
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Спасибо, JeyCi. Вот только такой момент, макрос изменил действительно все как я и хотел, вот только при повторном изменении на листе "Настройка" значений B4:B6 на любые другие и запуске Вашего макроса - на листе "Главная" он удаляет все значения и оставляет пустые ячейки (C3:C6). Можно это как-нибудь подправить?)
И хотел уточнить еще такой момент, когда искал макросы различные, видел, что есть такие, которые при изменении значения ячейки автоматически запускаются. Вот к Вашему макросу нельзя "прикрутить" и такой элемент, чтобы при изменении любой ячейки B4:B6 на листе "Настройка" включался бы Ваш макрос и изменялись бы (обновлялись) данные на листе "Главная" C3:C6 (и дальше, если есть значения) соответственно?
Изменено: Born777 - 14.09.2014 14:52:04
 
Цитата
Born777 пишет: только при повторном изменении на листе "Настройка" значений B4:B6 на любые другие и запуске Вашего макроса -
лист Настройка А4-А6 - прошлые значения
лист Настройка B4-B6  - те на которые надо заменить
... если на листе Главная в столбце С нет значений из Настроек столбца А - то конечно выложит всё пустым, т к нет соответствующих замен...
как он вам заменит то, чего уже НЕТ (после работы макроса) - на новое? (у него память не такая как у вас)... меняйте лист Настройки что на что менять - столбец А на столбец В (из настроек)... результат на лист Главная выйдет...
Цитата
Born777 пишет:  Вот к Вашему макросу нельзя "прикрутить" и такой элемент...
прикручивайте  :)
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Ясно, значит все же не так работает, как мне хотелось бы, видно непонятный пример я выложил, но принцип нужный мне, за исключением удаления и необходимости изменения "прошлых" значений...  В общем мне надо, чтобы с листа "Настройка" из теперь единственного столбца A (значения A4:A8, на которые сделан список для ячеек листа "Главная" C3:C6), при их изменении на любые новые значения - на листе "Главная" в ячейках C3:C6 изменялся не только выпадающий список с этими новыми значениями (который изменяется, тут все ок), но и введенные старые значения в ячейках.
Изменено: Born777 - 14.09.2014 17:15:10
 
Цитата
Born777 пишет: принцип нужный мне, за исключением удаления и необходимости изменения "прошлых" значений...
В общем мне надо
перед End If
Код
Else: c(i, 1) = b(i, 1)
- будет оставлять на листе Главное и то чего нет в листе Настройки... но у вас выпадающий вроде чётко привязан к листу Настройки столбец В - с ним проблем нет... чтобы синхронизировать предыдущие заполнения с выпадающим - макрос выше... разберитесь что у вас в Настройках - если будете удалять или добавлять что в них - то со строкой Else - должен оставлять и прежнее если в Настройках его убрать для замены... остальное "что откуда куда" я описала выше... как описали - то и получили... вобщем у меня выходной уже час как закончился... что описали и что вспомнили потом (на 7-м посте) - это уже не мои рабочие вопросы... успехов

Цитата
Born777 пишет: но макросы писать я не умею, только через рекордер и вставлять готовые...
может сюда
Изменено: JeyCi - 14.09.2014 17:35:58
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Спасибо тем не менее, теперь не удаляет) Есть у меня пару идей как это дело доделать все, но если кто еще подскажет как единым макросом осуществить описанное в 7 посте, да еще и добавить авто использование макроса при изменении значения ячейки, буду очень признателен.
 
Цитата
Born777 пишет:
добавить авто использование макроса при изменении значения ячейки,
Смотрите событие листа Worksheet_Change - ищите темы с таким содержимым.
 
Да, Юрий, тему нашел на Вашем форуме, но вот чет слить макросы, предложенные в этой теме и через рекордер у меня не вышло) попробую тогда в раздел ниже написать.
 
Простой пример для контроля изменений в диапазоне А2:В10
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:B10")) Is Nothing Then
        Application.EnableEvents = False
        Call Макрос1 'Здесь имя Вашего макроса (вместо Макрос1)
    End If
    Application.EnableEvents = True
End Sub 
 
Да, спасибо, я увидел тему с таким содержимым у Вас, проблема просто в макросе, что предложил JeyCi, слишком много "моментов", которые мешают все это дело залатать мне, чтобы работало, как я хочу, так что попробую через платный раздел ниже)
 
Цитата
Born777 пишет: что предложил JeyCi
тьфу ты чёрт - достали уже - читаем подпись под каждым моим постом и ищем альтернативные выражения своих мыслей!!!.. НЕЧЕГО гадать о моей половой принадлежности ЕСЛИ ПРОЧИТАТЬ МОЙ ПОСТ НЕ МОЖЕТЕ !.. например пост№8... и вспоминаем русский язык

понимаю, что и всё написанное на форуме читаете так же - поэтому и поисковик не помогает и ответы не воспринимаете, утопая в своих хотениях ставить вопросы и нежеланиях находить ответы... чего отнимать у людей время - сразу в платный раздел
Изменено: JeyCi - 14.09.2014 22:28:51
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Совет про вспоминание русского языка порадовал) Ты-то сам хоть понял, что написал? Я уже молчу про грамотность, особенно в разрезе пунктуации у тебя, но помимо собранных в единое предложение слов, они хотя бы должны нести какой-то смысл и быть логически связанными. В посте выше первый абзац  вообще набор бессвязных слов, прочитал 2 раза так и не понял смысла)) Я уж не знаю, где ты русский язык учил, но лучше почитай сам правила этого же форума и не веди беседы на сторонние темы) Что я хочу - я отчетливо понимаю, не понимаешь ты - спроси, уточни; отнимаю время? - Не пиши просто ничего и все, никто же не заставляет)
И раз уж ты решил мне что-то посоветовать, то и тебе я советую думать перед тем, как что-то говорить и писать, ведь, как говорится: "Промолчишь - за умного сойдешь", а тут выставил себя...
 
Born777, во-первых: JeyCi это дама)), во-вторых: к незнакомым людям принято обращаться на ВЫ.
Ну и напоследок: читайте Правила в части личной переписки.
 
А, теперь ясен смысл написанного, какая значит дама резкая попалась, красным еще выделила что-то, капсом написала, надо же, как задело человека. Ну раз надоели, тогда писала бы никнейм свой "Даша", или там с букв "MS" и было бы счастье. Ну или бы подпись свою заменила аля "Я-существо женского пола", а не чушь какую-то 7 кеглем... А на "Вы" обращался до тех пор, пока советы модмаузель раздавать не начала, ведь местоимение несет еще и оттенок уважения к человеку, а после таких постов уж извините...
 
И это Вы пишете про человека, который Вам реально оказывал помощь...
Страницы: 1
Наверх