Страницы: 1
RSS
Привязка диапазона к ячейке и его вывод при выборе ячейки из выпадающего списка
 
Доброго времени суток. У меня следующий вопрос. Как привязать к конкретной ячейке соответствующей ей диапазон и сделать так, чтобы этот диапазон, при выборе из выпадающего списка потом вставал на нужное место?  
Вобщем есть файл. там 14 зданий, в каждом свой набор помещений, светильников в них определенной мощности. для каждого здания я сделаю побочную таблицу. специально делаю много пустых строк про запас (иногда помещений бывает много). И хочу, чтобы при выборе, например, здания "котельная", на место основной таблицы, вставлялись значения из побочной для этой самой котельной. и чтобы происходило это при одном лишь клике мышкой на выпадающем списке и выборе соответствующего здания.  
Как это можно осуществить?
 
Смотрим - читаем - выбираем (см. скрин) ... ;)  
-26198-
 
Я бы по данному скрину выбрал последний вариант  :-)  
F1erce, Вы хотите усложнить задание: нужно не таблицу подставлять в нужное место, а "говорить" списку - КАКУЮ таблицу использовать.
 
{quote}{login=Юрий М}{date=14.07.2011 11:29}{thema=}{post}Я бы по данному скрину выбрал последний вариант  :-)  
F1erce, Вы хотите усложнить задание: нужно не таблицу подставлять в нужное место, а "говорить" списку - КАКУЮ таблицу использовать.{/post}{/quote}  
Если бы вы подсказали, как можно осуществить данное решение, я был бы очень благодарен
 
Так я же подсказал - последняя ссылка на скрине, котрый выложил Z. Это в разделе "Приемы"
 
http://www.planetaexcel.ru/tip.php?aid=64
 
Попробуйте так..
 
{quote}{login=Маугли}{date=14.07.2011 01:43}{thema=}{post}Попробуйте так..{/post}{/quote}  
Так правильней..
 
RE: Маугли  
Позволю себе заметить что вы пользуетесь не совсем правильной проверкой для выхода из продцедуры Worksheet_Change.  
Вы проверяете так:  
If Not Target = [A1] Then Exit Sub
 
но если перевести эту проверку на понятный язык то она звучит так:    
Если значение переменной Target не равно значению ячейки А1 тогда выходим из продцедуры. Это означает что если ввести в ЛЮБУЮ ячейку на этом листе значение равное значению ячейки А1 (в данном случае "Здание1") то выхода из продцедуры не последует.  
Сугубо по моему мнению правильно проверять так:  
 
If Not Target.Address = "$A$1" Then Exit Sub
Редко но метко ...
 
После отпуска:)  
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
 
Друзья, я всё равно не понимаю как это сделать)  
У меня не получается. Мне бы поэтапно кто показал бы, как это делается, я не могу разобраться. Пытался повторить файл, который скинул Маугли, код пытался править, всё равно не получается, чувствую себя таким чайником
 
Скиньте небольшой файлик, ЧТО вы хотите видеть, получить.Вам помогут.
 
вот файл.  
в самом верху таблица, в которую должны быть вбиты значения, откуда они будут позже браться в другие места. объектов 14 штук, после главной таблицы как раз они и идут, по размерам таблицы одинаковы, просто скрыто различное количество строк.  
хотел бы, чтобы, например, в ячейке А1 был выпадающий список объектов, при выборе объекта, в главную таблицу вбивались соответствующие значения.  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
желательно, чтобы вся эта радость была реализована на одном и том же листе, поскольку оных уже итак куча
 
перезалил файл. 2 объекта оставил
 
F1ercE, не нарушайте Правил! Пример из раздела "Приемы" не помог?
 
прошу прощения. будьте любезны, объясните на моем примере, иначе я чувствую, что не осилю(
 
{quote}{login=F1ercE}{date=15.07.2011 12:49}{thema=}{post}... объясните на моем примере... ({/post}{/quote}  
Что и как объяснять, если вы сами не удосужились в примере указать "1" - что есть в каком состоянии, и "2" - что есть в каком состоянии, чтобы его ("2") каким-то образом вставить/подставить/поместить/скопировать в определенное место в "1"...  
ps Поскольку сами вы пока ничего не сделали и не предложили, то, может быть, будет проще заказать кому-то сделать эту работу за вас для вас с нуля?..  
-43891-
 
Ну.. заказывать точно не вариант, ибо цель моя - самому научиться и применять это в дальшейшем. В таком случае, на досуге прочитаю правила форума, всё помечу как должно быть и откуда что брать и буду надеяться на помощь. Быть может почитав внимательнее пример, разберусь.)
 
?
 
Private Sub Worksheet_Change(ByVal Target As Range)  
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
Application.EnableEvents = False  
UsedRange.Offset(1).ClearContents  
Select Case [A1]
Case "котельная"  
Sheets("котельная").UsedRange.Copy Destination:=[A2]
Case "весовая"  
Sheets("весовая").UsedRange.Copy Destination:=[A2]
Case "административное"  
Sheets("административное").UsedRange.Copy Destination:=[A2]
Case "гараж"  
Sheets("гараж").UsedRange.Copy Destination:=[A2]
Case "матсклад"  
Sheets("матсклад").UsedRange.Copy Destination:=[A2]
Case "здравпункт"  
Sheets("здравпункт").UsedRange.Copy Destination:=[A2]
Case "склад1"  
Sheets("склад1").UsedRange.Copy Destination:=[A2]
Case "склад2"  
Sheets("склад2").UsedRange.Copy Destination:=[A2]
Case "спортзал"  
Sheets("спортзал").UsedRange.Copy Destination:=[A2]
Case "холодильник"  
Sheets("холодильник").UsedRange.Copy Destination:=[A2]
Case "масло"  
Sheets("масло").UsedRange.Copy Destination:=[A2]
Case "завод"  
Sheets("завод").UsedRange.Copy Destination:=[A2]
End Select  
Application.EnableEvents = True  
End Sub  
 
Где тут ошибка? не работает переключение, не могу понять, почему
 
вопрос снят. заработало
Страницы: 1
Читают тему
Loading...