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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2009, 09:09   #1
Flangini
Форумчанин
 
Аватар для Flangini
 
Регистрация: 11.02.2008
Сообщений: 119
Стрелка Раскрывающийся список значений, макросом.

Добрый день!

Подскажите пожалуйста, как описать макросом следующую задачу:
Если в яцейке А2 написать "ЛА", то в ячейке В2 из раскрывающегося списка можно будет выбрать: "Волга" или "Жигули". Если в ячейке А2 написать "ГА", то в ячейке В2 из раскрывающегося списка можно будет выбрать: "Газон" или "Газель".
Flangini вне форума Ответить с цитированием
Старый 17.06.2009, 09:24   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Макросом можно сделать все, что угодно. Для этого вовсе не обязательно, чтобы в ячейке "B2" был список. А Вам как нужно?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 17.06.2009, 09:29   #3
Flangini
Форумчанин
 
Аватар для Flangini
 
Регистрация: 11.02.2008
Сообщений: 119
По умолчанию

Именно список нужен, чтобы пользователь мог выбрать значение и не в коем случаи не мог написать отсебятину Я думаю и для А2 создать через "Проверку" список: "ЛА" или "ГА", а вот как создать в В2 два разных списка не знаю. То есть в А2 выбирается "ЛА" или "ГА" и в зависимости от выбора - в В2 можно будет выбрать "Волга" или "Жигули" при "ЛА", "Газон" или "Газель" при "ГА".
Flangini вне форума Ответить с цитированием
Старый 17.06.2009, 09:45   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

А зачем Вам макросы?
Чем Вас не устраивают встроенные возможности Excel?

Про создание таких списков можно почитать здесь: http://www.planetaexcel.ru/tip.php?aid=64
EducatedFool вне форума Ответить с цитированием
Старый 17.06.2009, 10:20   #5
Flangini
Форумчанин
 
Аватар для Flangini
 
Регистрация: 11.02.2008
Сообщений: 119
По умолчанию

Этим способом у меня уже реализовано и при этом пустой файл (не заполненный) стал весить 2 Мб. Учитывая что в нём предполагается заполнить до 1000 строк и пересылать его по электронке, полюс в файле автоматически рисуются графики и при заполнении 20 строк вес файла становится уже 5 Мб, это всё становится просто не реальным. Вот я и подумал перенесение условий заполнения формы в макрос не позволит ли мне съэкономить дрогоценные мегабайты.
Flangini вне форума Ответить с цитированием
Старый 17.06.2009, 10:55   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
перенесение условий заполнения формы в макрос не позволит ли мне съэкономить дрогоценные мегабайты.
Позволит. Большое количество формул (если еще и длинных, или с пользовательскими функциями) очень "раздувают" объем.
Прикрепите пример того, что нужно получить по всем ячейкам и листам. Можно все делать макросом, который займет минимум места в файле.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 17.06.2009, 11:48   #7
Flangini
Форумчанин
 
Аватар для Flangini
 
Регистрация: 11.02.2008
Сообщений: 119
Вопрос

Заполнять форму необходимо сторого по строкам начиная с ячейки В2 последовательно внося данные, а то глючит и выдаёт либо пустые списки, либо вообще их не раскрывает. Соответственно в рабочем варианте у меня стрыты столюцы с Р по IV.
Вложения
Тип файла: rar Книга11.rar (39.5 Кб, 88 просмотров)
Flangini вне форума Ответить с цитированием
Старый 22.06.2009, 09:16   #8
Flangini
Форумчанин
 
Аватар для Flangini
 
Регистрация: 11.02.2008
Сообщений: 119
По умолчанию

Расскажите пожалуйста принцып создания раскрывающихся списков макросом (код), дальше я сам попробую написать .
Flangini вне форума Ответить с цитированием
Старый 22.06.2009, 09:59   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

А что, поиск по форуму не работает?
http://www.programmersforum.ru/showt...ght=validation
http://www.programmersforum.ru/showt...ght=validation

Ключевое слово для поиска - validation
EducatedFool вне форума Ответить с цитированием
Старый 22.06.2009, 10:17   #10
Flangini
Форумчанин
 
Аватар для Flangini
 
Регистрация: 11.02.2008
Сообщений: 119
По умолчанию

Код:
Sub test()
    FormatConfirmationCell [a2]
End Sub

Sub FormatConfirmationCell(ByRef ce As Range)
    With ce
        .HorizontalAlignment = xlCenter
        With .Validation ' формируем выпадающий список
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertInformation, Operator:= _
                 xlBetween, Formula1:=ce.Value & ", Выполнено, Не выполнено"
            .IgnoreBlank = True: .InCellDropdown = True
        End With
        .FormatConditions.Delete ' условное форматирование
        .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""Выполнено"""
        .FormatConditions(1).Interior.ColorIndex = 35    '4
        .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""Не выполнено"""
        .FormatConditions(2).Interior.ColorIndex = 38    '3
    End With
End Sub
А как можно распространить этот код ни на одну яцейку А2, а на диапазон А2:А100?
Flangini вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исчез раскрывающийся список Nando Microsoft Office Excel 6 13.05.2009 22:41
Список значений в Access и delphi eldar БД в Delphi 1 12.04.2009 06:34
Раскрывающийся список sergiksergik Microsoft Office Excel 3 31.03.2009 22:48
Элементы управления и список значений tomasmazas Microsoft Office Excel 1 26.12.2007 09:20