|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.03.2010, 04:00 | #1 |
Новичок
Джуниор
Регистрация: 28.03.2010
Сообщений: 4
|
Изменяющийся выпадающий список
Всем привет!! Помогите решить одну задачку.
В листе1 имеется список столбец C -код по маске и В- название. Надо заполнить столбцы С и В в листе2 значениями с первого листа. Т.е сделать выпадающий список по столбу С. Но дело в том что значений более 300. Можно ли ограничить выпадающий список значениями для которых первые 15 символов совпадают с первыми 15 символами со столбца А. Например во вложенном файле выпадающий список для ячейки Лист2!C2 были значения столбца Лист1!C в которых первые 15 символов равны "PM11-FINL-PACK-" для ячейки Лист2!C21 - "PM11-FINL-TLM1-" Заранее благодарен. |
28.03.2010, 14:36 | #2 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 410
|
вот взгляните/
Чуть поправил еще Последний раз редактировалось Dophin; 28.03.2010 в 15:27. |
28.03.2010, 16:20 | #3 |
Форумчанин
Регистрация: 05.08.2009
Сообщений: 465
|
----------
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
Последний раз редактировалось DV68; 28.03.2010 в 16:27. |
28.03.2010, 19:15 | #4 |
Новичок
Джуниор
Регистрация: 28.03.2010
Сообщений: 4
|
Dolphin спасибо, только при попытке закуска макроса PP() вылезает ошибка в стороке sh2.Cells(i, 3).Validation.Add Type:=xlValidateList, Formula1:=Join(arr, ",")
Последний раз редактировалось EugeneK78; 28.03.2010 в 20:25. |
28.03.2010, 19:49 | #5 |
Новичок
Джуниор
Регистрация: 28.03.2010
Сообщений: 4
|
Все разобрался, надо добавить строчку очищения списка перед его записью.
Вопросик как сделать обновление списка ячейки при ее выборе или нажатии кнопки выбора |
28.03.2010, 19:49 | #6 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 410
|
а зачем Вам запускать макрос? все уже расставлено )
удалите проверку данных - потом запускайте) ну либо можно код поправить: Sub pp() Application.ScreenUpdating = False Dim sh1 As Worksheet Dim sh2 As Worksheet Dim arr() Dim i As Long, j As Long, k As Long Dim iL As Long Dim iL2 As Long Set sh1 = Sheets("Лист1") Set sh2 = Sheets("Лист2") iL = sh1.Cells(Rows.Count, 1).End(xlUp).Row iL2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To iL2 For j = 2 To iL If Mid(sh1.Cells(j, 1), 1, 15) = Mid(sh2.Cells(i, 1), 1, 15) Then k = k + 1 ReDim Preserve arr(1 To k) arr(k) = sh1.Cells(j, 1) End If Next j If UBound(arr) > 0 And arr(1) <> "" Then On Error Resume Next sh2.Cells(i, 3).Validation.Delete sh2.Cells(i, 3).Validation.Add Type:=xlValidateList, Formula1:=Join(arr, ",") End If k = 0 ReDim Preserve arr(1 To 1) arr(1) = "" Next i Application.ScreenUpdating = True End Sub |
28.03.2010, 19:51 | #7 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 410
|
непонял, зачем что то обновлять?
|
28.03.2010, 20:37 | #8 |
Новичок
Джуниор
Регистрация: 28.03.2010
Сообщений: 4
|
Это примерочный файл.
В рабочем файле кол-во строк приближается к 1000. Вопрос по обновлению скорей из любопытства. Есть задумки написать макросы к этим событиям. Dolphin спасибо за оперативность. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выпадающий список | tsergey | Помощь студентам | 2 | 24.01.2010 15:34 |
Access 2003: как сделать изменяющийся список выбора в зависимости от значения в соседнем поле | tanchikb | Microsoft Office Access | 14 | 14.01.2010 10:46 |
Выпадающий список | чебургатор | HTML и CSS | 2 | 13.05.2009 19:58 |
Выпадающий список | Акашаев Нурлан | Общие вопросы Delphi | 3 | 27.06.2008 16:58 |
выпадающий список | Toxa | Microsoft Office Excel | 2 | 23.04.2007 09:40 |