|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.10.2011, 16:20 | #1 |
Регистрация: 09.06.2011
Сообщений: 5
|
не могу разобраться с макросом
Вот код формы:
Option Compare Text Private Sth As Boolean Private LAr() As Variant Private Sub UserForm_Initialize() Dim x, i As Long, j As Object i = ActiveCell.Column With ActiveSheet Set j = .Range(.Cells(1, i), .Cells(.Rows.Count, i).End(xlUp)) ' <-- тут можно отсечь "шапку" таблицы End With On Error Resume Next With New Collection If j.Count = 1 Then x = j.Value For Each x In j.Value If VarType(x) = vbString Then x = Trim(x) If Len(x) > 0 Then If .Item(CStr(x)) = "" Then For i = 1 To .Count If x < .Item(i) Then .Add x, CStr(x), Before:=i: Exit For End If Next .Add x, CStr(x) End If End If Next ReDim LAr(1 To .Count) For i = 1 To .Count: LAr(i) = .Item(i): Next End With Set j = ActiveCell With FDDL .Caption = "Всего элементов: " & i - 1 .Left = .Width - j.Left + j.Width .Top = .Height * 2 + j.Top - j.Height .ComboBox1.List = LAr() .ComboBox1.DropDown End With End Sub Private Sub ComboBox1_Change() If Sth Then Exit Sub Dim x, mask As String mask = "*" & Me.ComboBox1.Value & "*" With CreateObject("Scripting.Dictionary" ) For Each x In LAr If x Like mask Then .Add x, x Next Me.Caption = "Всего элементов: " & .Count: Me.ComboBox1.List = .Items Me.ComboBox1.DropDown End With End Sub Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Sth = False Select Case KeyCode Case vbKeyReturn: ActiveCell.Value = Me.ComboBox1.Value: Unload Me: Exit Sub Case vbKeyEscape: Unload Me: Exit Sub Case vbKeyDown: Sth = True Case vbKeyUp: Sth = True End Select End Sub Private Sub UserForm_Terminate(): Unload Me: End Sub Что она делает: при нажати сочетания клавиш ctrl+enter открывается форма в которой есть некий список для вбора значения, макрос написан таким образом, что он формирует список из текущего столбца (т.е из того столбца, в котором была активна ячейка при нажатии сочетания клавиш)! чего хочется добиться, что бы список формировался из конкретного столбца с другого листа книги, если кто поправит код или подскажет как это реализовать буду признатеоен! |
29.10.2011, 16:32 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
замените это:
i = ActiveCell.Column With ActiveSheet на: i = Номер_Колонки_с_Данными With WorkSheet("Имя_листа с данными") где вместо Номер_Колонки_с_Данными можете вписать конкретное число "Имя_листа с данными" - напишите имя листа (то что на ярлыке указано)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
29.10.2011, 16:33 | #3 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Давайте пример в файле.
Что-то очень напоминает код из http://www.planetaexcel.ru/forum.php...hread_id=33137 Если у Вас другое - посмотрите в той теме - там два похожих варианта рассматривали (и делали).
webmoney: E265281470651 Z422237915069 R418926282008
|
29.10.2011, 16:40 | #4 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
ну-ну
http://www.planetaexcel.ru/forum.php...llnum_forum=52 Hugo121, спасибо Судя по всему придется обращаться к модераторам, а то сейчас код пойдет гулять по форумам : )
Тишина – самый громкий звук
|
29.10.2011, 17:18 | #5 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Всё, слово выпустил - не поймаешь
webmoney: E265281470651 Z422237915069 R418926282008
|
31.10.2011, 13:45 | #6 |
Новичок
Джуниор
Регистрация: 31.10.2011
Сообщений: 1
|
Нужна помощь: формулы "ЕСЛИ", формулы отвечающие за диапазоны, ну и возврат к листу содержащему значения.... к ГОТОВОЙ программе - необходимо дополнение!!! сама владею знаниями только с определенными формулами. Немножечко позолочу Вашу ручку)))по договоренности конечно.
|
31.10.2011, 14:07 | #7 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
А в чем вопрос то? Это только мне кажется, или Ваше сообщение мимо темы?
Тишина – самый громкий звук
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не могу разобраться | feesta | Помощь студентам | 0 | 10.04.2011 20:19 |
Не могу разобраться!!! | Яна Сафронова | Помощь студентам | 11 | 12.05.2010 17:56 |
не могу разобраться | Var17 | Общие вопросы Delphi | 6 | 27.03.2010 01:21 |
[C++] Не могу разобраться ... | AquaticSoul | Общие вопросы C/C++ | 8 | 24.03.2010 16:23 |
Не могу разобраться | Lokin | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 22.03.2010 22:45 |