Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2014, 07:31   #1
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию Автоматическое проставление данных при выборе значений

Ребята, извините за беспокойство. Я уже обращался к вам с подобным вопросом и вы мне очень помогли.
"Мне необходимо было при выборе значения из выпадающего списка автоматически проставлять данные в строку"
На сей раз все усложнилось, значений стало больше. Теперь при выборе значения на Листе2 в колонке G, еще должен учитываться возраст (колонка E) и пол (колонка F), и в зависимости от этого будут проставляться данные. (К примеру, если женщине по возрасту больше сорока лет, то проставляются одни данные, а если меньше то другие). Пример на Листе3
Вложения
Тип файла: zip Книга1111.zip (19.1 Кб, 11 просмотров)

Последний раз редактировалось Сергей Ш.; 11.04.2014 в 08:07.
Сергей Ш. вне форума Ответить с цитированием
Старый 11.04.2014, 08:51   #2
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

На данный момент действующий макрос выглядит так. Не знаю как
модернизировать, помогите уважаемые господа разобраться

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("G2:G100")) Is Nothing Then
a = Sheets("Лист3").Range("D11:AE13").V alue
For i = 1 To UBound(a)
If a(i, 1) = Target.Value Then
cl = 9
For j = 2 To 28
Cells(Target.Row, cl) = a(i, j)
cl = cl + 1
Next
End If
Next
End If
End Sub
Сергей Ш. вне форума Ответить с цитированием
Старый 11.04.2014, 10:47   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Cells.Count > 1 Or Target = "" Then Exit Sub
  If Intersect(Target, Range("G:G")) Is Nothing Then Exit Sub
  If WorksheetFunction.CountIf(DB.[d:d], Target) = 0 Then Exit Sub
  DB.Cells(WorksheetFunction.Match(Target, DB.[d:d], 0) + IIf(Target.Offset(0, -1) = "Муж.", 1, IIf(Target.Offset(0, -2) < 40, 0, 2)), 7).Resize(1, 27).Copy
  Application.EnableEvents = False: Target.Offset(0, 3).PasteSpecial xlPasteValues: Application.EnableEvents = True
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 11.04.2014 в 11:23.
IgorGO вне форума Ответить с цитированием
Старый 11.04.2014, 11:59   #4
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

А как быть если выходит ошибка Run-time error 424.
Сергей Ш. вне форума Ответить с цитированием
Старый 11.04.2014, 12:17   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

извините, я лист переименовал (у себя, а у Вас-то остался как был...)
Вложения
Тип файла: rar Книга1111.rar (19.4 Кб, 15 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 11.04.2014 в 12:20.
IgorGO вне форума Ответить с цитированием
Старый 11.04.2014, 12:30   #6
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

Файл во вложении, посмотрите пожалуйста
Я ввожу дату, допустим в строке 6 в колонку D, автоматически через формулу в этой же строке проставляется возраст в колонке E, потом указываю пол в колонке F и далее выбираю одно из значений в колонке G: это может быть значение1, значение2, значение3, значение4 и т.д. и у меня выходит ошибка.
Вложения
Тип файла: zip Книга1111.zip (19.3 Кб, 20 просмотров)
Сергей Ш. вне форума Ответить с цитированием
Старый 11.04.2014, 12:54   #7
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

Да, здорово! Спасибо!
А как быть с формулами? Я так понимаю они работать в данном случае не будут
Сергей Ш. вне форума Ответить с цитированием
Старый 11.04.2014, 14:11   #8
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
Хорошо

А нет, все работает. Спасибо IgorGO. Как всегда выручили
Сергей Ш. вне форума Ответить с цитированием
Старый 11.04.2014, 14:21   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

я удивлен не меньше Вас)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.08.2014, 09:35   #10
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию Автоматическое проставление данных при выборе значений

Добрый день.
Ребята, вся надежда на вас. Всё та же ситуация по той же теме, только теперь данные должны проставляться не в строку а в столбик, причем в разные.
Объяснить очень трудно, по крайней мере для меня, но смысл такой: На Листе1 по заданным значениям (ячейки выделены красным цв.) автоматически проставляются данные, находящиеся на другом листе (Лист2), который в свою очередь будет скрытым. Я примерно сделал таблицу "Тест1" как это должно выглядеть, а вот воплотить не получается, не понимаю что необходимо поменять в коде макроса. В прошлый раз мне очень помог Игор, огромное ему спасибо, в долгу не останусь.
(Для примера, во вложении есть таблица, в котором данные проставлялись в строку, код прекрасно работает, спасибо Игорю)
Вложения
Тип файла: zip Тест1.zip (32.2 Кб, 15 просмотров)
Тип файла: zip Пример.zip (21.2 Кб, 11 просмотров)
Сергей Ш. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод данных при выборе определенного значения из раскрывающегося списка Андрей79 PHP 4 04.03.2012 21:58
Отображение вордовских данных при выборе поля таблицы xJohnx БД в Delphi 0 14.04.2011 19:52
ForeColor при выборе значений в ComboBox segail Microsoft Office Excel 2 25.08.2010 22:12
Автоматическое вычитание при вводе определенных значений DIMONRUS Microsoft Office Excel 11 17.06.2010 20:06
копирование данных в новую таблицу при интерактивном выборе файла gege Microsoft Office Excel 7 22.10.2008 17:16