|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.05.2009, 12:46 | #1 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 369
|
Увеличить длинну выпадающего списка больше 8 строк
Увеличить длинну выпадающего списка больше 8 строк можно, но не работает копировать ячейку-вставить. Как это исправить?
|
27.05.2009, 14:31 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Этот пример я делал лишь в целях демонстрации, поэтому там много что не работает.
Чтобы были доступны функции копировать - вставить, надо немного изменить макрос (см. вложение) Теперь выпадающий список отображается при двойном щелчке в желтых ячейках. |
22.09.2009, 05:13 | #3 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 369
|
Как сделать, чтобы данные выпадающего списка брались из другой, неоткрытой книги Excel?
Последний раз редактировалось agregator; 22.09.2009 в 14:10. |
24.09.2009, 07:45 | #4 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 369
|
Например так. Вносим в рабочую книгу, потом удаляем.
Const ValidationList = "N1:N10" Public Events As Boolean Private Sub ComboBox1_Change() If Not Events Then Exit Sub ActiveCell.Value = Me.ComboBox1.Value HideCombo End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, [b4:e6]) Is Nothing Or Target.Cells.Count > 1 Then HideCombo: Exit Sub Cancel = True: Events = False Me.ComboBox1.Top = Target.Top: Me.ComboBox1.Left = Target.Left Me.ComboBox1.Width = Target.Width + 16: Me.ComboBox1.Height = Target.Height FillCombo Events = True End Sub Sub FillCombo() Me.ComboBox1.Clear Dim Path, File, List As String Path = "C:\Папка с файлом\" 'Путь к папке с Вашим файлом File = "Товары.xls" 'имя файла List = "Список" ' Имя листа Range("N1:N10").Formula = "='" & Path & "[" & File & "]" & List & "'!" & "A1" Range("N1:N10") = Range("N1:N10").Value For Each cell In Range("N1:N10").Cells Me.ComboBox1.AddItem cell Next Me.ComboBox1.ListRows = Range("N1:N10").Cells.Count Me.ComboBox1.Value = ActiveCell.Value: Me.ComboBox1.Font.Size = 6 Range("N1:N10").ClearContents End Sub Sub HideCombo() Me.ComboBox1.Top = 0: Me.ComboBox1.Left = 0: Me.ComboBox1.Width = 0: Me.ComboBox1.Height = 0 End Sub Как сделать, чтобы данные выпадающего списка брались из другой, неоткрытой книги Excel и не вносились в рабочую книгу, а брались из памяти? Последний раз редактировалось agregator; 24.09.2009 в 10:54. |
17.12.2009, 02:27 | #5 |
Новичок
Джуниор
Регистрация: 16.12.2009
Сообщений: 1
|
Практически идеально, только ещё бы добавить возможность прокрутки!
|
17.12.2009, 03:11 | #6 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
С прокруткой сделать сложно, но теоретически можно.
Проще даже, пожалуй, будет вывести выпадающий список в несколько столбцов. Но я это реализовывать не буду - нет ни времени, ни желания. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как увеличить длинну выпадающего списка: ДАННЫЕ-ПРОВЕРКА-СПИСОК | kay | Microsoft Office Excel | 3 | 10.02.2009 12:59 |
C#. Как получить значение выпадающего списка? | monach79 | Общие вопросы .NET | 1 | 18.12.2008 14:29 |
Прокрутка выпадающего списка | SAndrus | Microsoft Office Excel | 2 | 16.06.2007 17:52 |
Ширина выпадающего списка | Python | Microsoft Office Excel | 8 | 11.03.2007 06:31 |