Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/автоизменение выбранного из выпадающего списка значения - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
автоизменение выбранного из выпадающего списка значения
котов Дата: Понедельник, 04.05.2015, 15:12 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Сделал выпадающий список с целью выбора определенных данных из ячеек диапазона А2:А7 вручную и автоматически.
Ячейку А2 сделал зависимой от С1 для автоматического изменения А1 при выборе из списка значения А2 и динамическом изменении значения С1. НО осталось одно но: не меняется А1 вслед за С1, изменяется только А2. Приходится вручную снова выбирать изменившееся значение А2 или прямо в А1 прописать формулу "=С1", которая слетает после выбора другого значения из списка. Очень неудобно. Подскажите, что нужно подправить, плис! Формулой/другими способами. :angel: [color=black][font=Times]
К сообщению приложен файл: 1726324.xls (14.0 Kb)
 
Ответить
СообщениеСделал выпадающий список с целью выбора определенных данных из ячеек диапазона А2:А7 вручную и автоматически.
Ячейку А2 сделал зависимой от С1 для автоматического изменения А1 при выборе из списка значения А2 и динамическом изменении значения С1. НО осталось одно но: не меняется А1 вслед за С1, изменяется только А2. Приходится вручную снова выбирать изменившееся значение А2 или прямо в А1 прописать формулу "=С1", которая слетает после выбора другого значения из списка. Очень неудобно. Подскажите, что нужно подправить, плис! Формулой/другими способами. :angel: [color=black][font=Times]

Автор - котов
Дата добавления - 04.05.2015 в 15:12
Nic70y Дата: Вторник, 05.05.2015, 09:04 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
'при именении A2 запишет ее значение в A1
If Not Intersect(Target, Range("a2")) Is Nothing Then
     [a1] = [a2].Value
     End If
'при именении C1 запишет ее значение в A1
If Not Intersect(Target, Range("c1")) Is Nothing Then
     [a1] = [c1].Value
     End If
End Sub
[/vba]нифига не понял, но вдруг правильно
К сообщению приложен файл: 59.13.xls (22.5 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Вторник, 05.05.2015, 09:05
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
'при именении A2 запишет ее значение в A1
If Not Intersect(Target, Range("a2")) Is Nothing Then
     [a1] = [a2].Value
     End If
'при именении C1 запишет ее значение в A1
If Not Intersect(Target, Range("c1")) Is Nothing Then
     [a1] = [c1].Value
     End If
End Sub
[/vba]нифига не понял, но вдруг правильно

Автор - Nic70y
Дата добавления - 05.05.2015 в 09:04
котов Дата: Вторник, 05.05.2015, 14:30 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Nic70y, Файл полурабочий. При изменении С1 меняется А1, но в А2 почему-то остается прежней. Теперь при изменении С1 она всегда меняет А1, даже если из раскрывающегося списка выбрана другая ячейка. Не А2, как задумывалось. Нужно это для возможности работать со списком как вручную, выбирая из него постоянные значения, так и автоматически (выбрав из списка зависимую от С1 ячейку А2). Ручной режим и автомат должен выбирать пользователь. Все должно быть очень просто, как и все гениальное.
 
Ответить
СообщениеNic70y, Файл полурабочий. При изменении С1 меняется А1, но в А2 почему-то остается прежней. Теперь при изменении С1 она всегда меняет А1, даже если из раскрывающегося списка выбрана другая ячейка. Не А2, как задумывалось. Нужно это для возможности работать со списком как вручную, выбирая из него постоянные значения, так и автоматически (выбрав из списка зависимую от С1 ячейку А2). Ручной режим и автомат должен выбирать пользователь. Все должно быть очень просто, как и все гениальное.

Автор - котов
Дата добавления - 05.05.2015 в 14:30
Manyasha Дата: Вторник, 05.05.2015, 15:00 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
котов, здравствуйте. Не очень поняла про
при изменении С1 она всегда меняет А1
в каких случаях А1 НЕ должна меняться?

На счет
При изменении С1 меняется А1, но в А2 почему-то остается прежней
добавьте строчку в код[vba]
Код
If Not Intersect(Target, Range("c1")) Is Nothing Then
      [a1] = [c1].Value
      [a2] = [c1].Value' ВОТ ЭТУ
      End If
End Sub
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениекотов, здравствуйте. Не очень поняла про
при изменении С1 она всегда меняет А1
в каких случаях А1 НЕ должна меняться?

На счет
При изменении С1 меняется А1, но в А2 почему-то остается прежней
добавьте строчку в код[vba]
Код
If Not Intersect(Target, Range("c1")) Is Nothing Then
      [a1] = [c1].Value
      [a2] = [c1].Value' ВОТ ЭТУ
      End If
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 05.05.2015 в 15:00
котов Дата: Среда, 06.05.2015, 15:42 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Manyasha, Nic70y, Здравствуйте. Описываю подробно:
После добавления строчки при каждом новом значении зависимой ячейки А2 оно отображается и в списке, и в А1. В авторежиме работает.
Переходим в ручной режим. Выбираем для отображения в А1 любую независимую ячейку из списка (А3:А6) с фиксированным значением. Работает только пока зависимая ячейка А2 имеет неизменное значение. С момента изменения значения А2 ручной режим не работает. В А1 происходит подмена выбранного вручную значения из А3:А6 на новое значение зависимой А2, что недопустимо. Всего-то и нужно убрать этот недостаток. При необходимости режимы (ячейки для отображения их значений в А1) должен заменять сам пользователь.
Кратко:
Manyasha, А1 не должна менять значения одних ячеек из списка на значения других. Если пользователь выбрал для отображения в А1 значение А2, то в ней должны отображаться все значения, которые появляются в зависимой ячейке А2.Работает.
Если он выбрал независимую ( например, А3) – отображать значение этой ячейки до тех пор, пока он не выберет любую другую ячейку. Не работает.
Предпочтительней решить формулами.
Может есть недокументированная формула в Эксэль. Его делали умные люди, должны были предусмотреть простую формулу для решения этой простой задачи.
Макросами - когда можно только с их помощью.
 
Ответить
СообщениеManyasha, Nic70y, Здравствуйте. Описываю подробно:
После добавления строчки при каждом новом значении зависимой ячейки А2 оно отображается и в списке, и в А1. В авторежиме работает.
Переходим в ручной режим. Выбираем для отображения в А1 любую независимую ячейку из списка (А3:А6) с фиксированным значением. Работает только пока зависимая ячейка А2 имеет неизменное значение. С момента изменения значения А2 ручной режим не работает. В А1 происходит подмена выбранного вручную значения из А3:А6 на новое значение зависимой А2, что недопустимо. Всего-то и нужно убрать этот недостаток. При необходимости режимы (ячейки для отображения их значений в А1) должен заменять сам пользователь.
Кратко:
Manyasha, А1 не должна менять значения одних ячеек из списка на значения других. Если пользователь выбрал для отображения в А1 значение А2, то в ней должны отображаться все значения, которые появляются в зависимой ячейке А2.Работает.
Если он выбрал независимую ( например, А3) – отображать значение этой ячейки до тех пор, пока он не выберет любую другую ячейку. Не работает.
Предпочтительней решить формулами.
Может есть недокументированная формула в Эксэль. Его делали умные люди, должны были предусмотреть простую формулу для решения этой простой задачи.
Макросами - когда можно только с их помощью.

Автор - котов
Дата добавления - 06.05.2015 в 15:42
Nic70y Дата: Среда, 06.05.2015, 16:59 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
нифига не понял
2 раза.
Вам надо пополняемый (динамический) список или что?


ЮMoney 41001841029809
 
Ответить
Сообщение
нифига не понял
2 раза.
Вам надо пополняемый (динамический) список или что?

Автор - Nic70y
Дата добавления - 06.05.2015 в 16:59
AndreTM Дата: Среда, 06.05.2015, 17:18 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
котов, вам можно завести, например, OLE-объект ComboBox или ListBox, и выбирать "автоматически" оттуда. А "вручную", естественно, из имеющегося списка. Как в примере.
А данные для автосписка можно либо отбирать в отдельный список вручную, либо вот именно здесь и применить VBA, чтобы "автозначения" отбирались в отдельный список кодом и подключались как источник для list/combo.
К сообщению приложен файл: 2-17290-1.xls (25.0 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщениекотов, вам можно завести, например, OLE-объект ComboBox или ListBox, и выбирать "автоматически" оттуда. А "вручную", естественно, из имеющегося списка. Как в примере.
А данные для автосписка можно либо отбирать в отдельный список вручную, либо вот именно здесь и применить VBA, чтобы "автозначения" отбирались в отдельный список кодом и подключались как источник для list/combo.

Автор - AndreTM
Дата добавления - 06.05.2015 в 17:18
котов Дата: Четверг, 07.05.2015, 14:18 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Вам надо пополняемый (динамический) список или что?

Пополняемым список можно сделать потом.
Сейчас нужен обычный выпадающий список с небольшой доработкой. Осталось только сделать так, чтобы в ячейке А1 отображались значения тех ячеек из раскрывающегося списка, которые выбрал пользователь. В первоначальном варианте файла в А1 не записывалось новое значение А2. После предложенной Вами и Manyasha доработки записываются (отображаются) все значения из списка, но сохраняются в А1 только до изменения значения А2. Если в А2 планируется отображать быстро меняющееся значение, она будет постоянно отображать его в А1. Даже тогда, когда из списка я выберу не А2, а, например А4. Снова выбирать значение из А4 не очень удобно. Файл приложил. В нем в А1 выбрано значение А4 равное 25. Если в С1, равное А2 внести 5, после "Enter" А1 изменится на 5. Должно оставаться 25 пока я из списка не выберу значение ячейки А2. Тогда и должна А1 отобразить 5.
К сообщению приложен файл: 2590094.xls (23.0 Kb)
 
Ответить
Сообщение
Вам надо пополняемый (динамический) список или что?

Пополняемым список можно сделать потом.
Сейчас нужен обычный выпадающий список с небольшой доработкой. Осталось только сделать так, чтобы в ячейке А1 отображались значения тех ячеек из раскрывающегося списка, которые выбрал пользователь. В первоначальном варианте файла в А1 не записывалось новое значение А2. После предложенной Вами и Manyasha доработки записываются (отображаются) все значения из списка, но сохраняются в А1 только до изменения значения А2. Если в А2 планируется отображать быстро меняющееся значение, она будет постоянно отображать его в А1. Даже тогда, когда из списка я выберу не А2, а, например А4. Снова выбирать значение из А4 не очень удобно. Файл приложил. В нем в А1 выбрано значение А4 равное 25. Если в С1, равное А2 внести 5, после "Enter" А1 изменится на 5. Должно оставаться 25 пока я из списка не выберу значение ячейки А2. Тогда и должна А1 отобразить 5.

Автор - котов
Дата добавления - 07.05.2015 в 14:18
котов Дата: Суббота, 09.05.2015, 15:33 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
AndreTM, Нужен только один выпадающий список. Он будет составной частью утвержденной формы таблицы расчетов, где не должно быть ничего лишнего. Осталось победить "нежелание" ячейки А1 стабильно отображать те данные, которые находятся в выбранной пользователем ячейке из раскрывающегося списка.
Без макроса А1 никак не реагирует на изменившееся значение ячейки А2 из списка.(значение А2 меняем через С1). Приходится руками снова для А1 выбирать А2 с новым значением. См.1726324.xls
С предложенным макросом реагирует на изменившееся значение А2, не только когда надо, но и когда не надо. Например, когда пользователь выбрал совсем другую ячейку из списка для отображения её значения в А1. См.2590094.xls
Экселисты-разработчики должны были дать возможность этот вопрос решить.
 
Ответить
СообщениеAndreTM, Нужен только один выпадающий список. Он будет составной частью утвержденной формы таблицы расчетов, где не должно быть ничего лишнего. Осталось победить "нежелание" ячейки А1 стабильно отображать те данные, которые находятся в выбранной пользователем ячейке из раскрывающегося списка.
Без макроса А1 никак не реагирует на изменившееся значение ячейки А2 из списка.(значение А2 меняем через С1). Приходится руками снова для А1 выбирать А2 с новым значением. См.1726324.xls
С предложенным макросом реагирует на изменившееся значение А2, не только когда надо, но и когда не надо. Например, когда пользователь выбрал совсем другую ячейку из списка для отображения её значения в А1. См.2590094.xls
Экселисты-разработчики должны были дать возможность этот вопрос решить.

Автор - котов
Дата добавления - 09.05.2015 в 15:33
AndreTM Дата: Суббота, 09.05.2015, 19:52 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Экселисты-разработчики должны были дать возможность
Ничего они не должны вашим конкретным хотелкам :)
Это вы усложняете вопрос неверной постановкой задачи.
Если есть уже известный список значений - так и используйте его. Если без макросов хотите - так поместите список "куда-нибудь в отдельное место", хоть даже в именованные диапазоны/формулы, и привяжите его как источник для "проверки данных" или любого встраиваемого объекта-списка...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
Экселисты-разработчики должны были дать возможность
Ничего они не должны вашим конкретным хотелкам :)
Это вы усложняете вопрос неверной постановкой задачи.
Если есть уже известный список значений - так и используйте его. Если без макросов хотите - так поместите список "куда-нибудь в отдельное место", хоть даже в именованные диапазоны/формулы, и привяжите его как источник для "проверки данных" или любого встраиваемого объекта-списка...

Автор - AndreTM
Дата добавления - 09.05.2015 в 19:52
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!