Страницы: 1
RSS
Добавить значение к содержимому ячейки
 
Добрый день, форумчане, и снова прошу вашей помощи. На форуме уже много раз обсуждалось "добавление значения к содержимому ячейки", но специфика моего примера не позволила мне найти подобия. Особенность заключается в том, что при вводе в ячейку к ней добавлялось слово в зависимости от таблицы автоматически по нажатию на enter (не по кнопке). Проблема заключается в том что полученное значение должно автоматически добавится в пополняемые список. В этом и загвоздка. Пробовал через СЦЕПИТЬ, но список автосортируется, через вспомогательную ячейку и формулу (например в ячейке O5)=M5&" "&"HQ", но мы вводим значения в O5, и M5 не является активной, соответственно в список не попадает. Более подробно о том что должно быть на выходе в прикрепленном файле.
The only thing necessary for the triumph of evil is for good men to do nothing.      Edmund Burke
 
{quote}{login=Roman}{date=28.11.2011 05:38}{thema=Добавить значение к содержимому ячейки}{post}...при вводе в ячейку к ней добавлялось слово в зависимости от таблицы автоматически по нажатию на enter (не по кнопке).{/post}{/quote}А Enter, это не кнопка?
 
Я имел ввиду не по кнопки которая прописывается в модуле.
The only thing necessary for the triumph of evil is for good men to do nothing.      Edmund Burke
 
Я наверное плохо объяснил или всех напугал тем что много чего должно получиться. В примере убрал все лишнее. Оставил только макрос на добавление в список.  
И теперь еще раз:  
при вводе любых текстовых данных в ячейку E2 после нажатия enter к введенному значению автоматически должно добавиться, к примеру HQ. Насколько я понимаю только при таком способе добавления в моем примере полученное значение попадет в список.  
Все до чего я дошел так это    
 
If Target.Address = "$E$2" Then  
Cells(2, 5).Formula = Cells(2, 5) & " " & "HQ"  
 
но "HQ" прописывается циклом и в итоге оно прилепляться хвостом повторяясь около 90 раз. Помогите, плз, с этой ячейкой, а остальные я уж сам, надеюсь, занесу в макрос. Спасибо.
The only thing necessary for the triumph of evil is for good men to do nothing.      Edmund Burke
 
Переделал пример ставил только макрос сортировки А:А по алфавиту, и макрос  на добавление в список.
The only thing necessary for the triumph of evil is for good men to do nothing.      Edmund Burke
 
Так добавляем один раз:  
Private Sub Worksheet_Change(ByVal Target As Range)  
Application.EnableEvents = False  
Select Case Target  
Case [E2]
Target = Target & " HQ"  
Case [G5]
Target = Target & " Check In"  
End Select  
Application.EnableEvents = True  
End Sub
 
{quote}{login=k61}{date=29.11.2011 02:47}{thema=re: повторяясь около 90 раз.}{post}Так добавляем один раз:  
Private Sub Worksheet_Change(ByVal Target As Range)  
Application.EnableEvents = False  
...  
End Select  
Application.EnableEvents = True  
End Sub{/post}{/quote}  
 
Спасибо, огромное за потраченное время и сделанную работу. Все работает.
 
{quote}{login=k61}{date=29.11.2011 02:47}{thema=re: повторяясь около 90 раз.}{post}Так добавляем один раз:  
...  
Application.EnableEvents = True  
End Sub{/post}{/quote}  
Прошу прощения что ввел в заблуждение, но работает не совсем так как надо.  
Испытания на различных вариантах выявили пару багов:  
При удалении из списка макрос снова срабатывает и снова прописывает добавочное значение.  
Про расширении диапазона Case    
...  
Target = Target & " HQ"  
Case [E3]
Target = Target & " HQ"  
Case [E4]
Target = Target & " HQ"  
Case [E5]
Target = Target & " HQ"  
...  
добавочное значение начинает появляться в любое активной ячейке на всем листе.  
Подскажите, пожалуйста, что не так (может я макрос неправильно внедрил). Вот файл с примером ошибок. Заранее спасибо.
The only thing necessary for the triumph of evil is for good men to do nothing.      Edmund Burke
 
1. При удалении из списка. Я списки не смотрел. Времени не было.  
2. Про расширении диапазона Case. Зачем семь Case отличных друг от друга только адресами а действие выполняется одно и тоже Target = Target & " HQ"?  
3. Я Вам показал как делать без повторов 90 раз (отключением реакции на событие Worksheet_Change) Application.EnableEvents = False.
 
расширен диапазон. Сокращены Case. Добавлены проверки на количество изменяемых ячеек и удаление.
 
Огромное СПАСИБО, вот теперь то, что доктор прописал :)  
Для тех кому, может быть, понадобиться что-нибудь подобное, выкладываю финал:  
Автоматическое добавление значения к содержимому ячейки, с последующим добавлением в пополняемый раскрывающийся список, отсортированный по алфавиту.
The only thing necessary for the triumph of evil is for good men to do nothing.      Edmund Burke
Страницы: 1
Читают тему
Loading...