Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
как закрыть список combobox или метод обратный dropdown
 
на форме есть combobox, в событии combobox_KeyUp я собираю новый список из диапазона ячеек на листе на основании введенного значений (например ввел букву а, собрался список со словами которые начинаются на букву "а" и т.д), но когда таких совпадений нет, то под комбобоксом продолжает висеть список с одной пустой строкой, мне нужно ее скрыть
Код
Private Sub combobox_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'..........
Call сформировать_список(combobox.value)
If combobox.ListCount = 1 And combobox.List(0) = "" Then
    свернуть список???
else
    combobox.DropDown
end if
'...........
end sub
Изменено: guzen_pilot - 17.11.2016 14:22:12
Помогли? отпишись, а то мы же волнуемся )))
Решетка "#" в коде, что значит?
 
встретил кое-что, чего не видел до этого:
Код
#If VBA7 Then
'код
#Else
'код
#End If
Что значат решетки и как работает, нигде не нашел
Помогли? отпишись, а то мы же волнуемся )))
Вопрос. Как обратиться к элементу в списке Combobox который выбрали мышкой
 
ИЗМЕНЕНО:
есть пара неплохих решений, описание и файл пример в посту #8 ниже

Вопрос 1. Если наводим (не щелкаем) мышку на список под Combobox, то строчка подсвечивается. Как обратиться к этому элементу? Конкретно нужно удалить выделенный элемент (В отличие от выбора стрелками - Combobox.Value остается пустым


Вопрос 2. Даже если я щелкну мышкой по элементу, то он попадает в основную (верхнюю строку), но остается выделенным, и опять Combobox.Value у меня в данном случае возвращает пустоту


Вопрос 3.  Когда список "вывалился", если крутить колесо, то крутится страница, и список "отрывается" от ComboBox, как побороть? Может закрепить список, может запретить скрол.......


Как всегда надеюсь на вашу помощь, уважаемые Гуру
Изменено: guzen_pilot - 26.07.2016 10:34:08 (вопроос №1 и №2 решены)
Помогли? отпишись, а то мы же волнуемся )))
ComboBox с посимвольным отслеживанием введенного текста
 
Все решил, работает полностью как мне нужно:

Имеем: Список уникальный значений (подойдет для работы с фамилиями) и Combobox на листе(1)
Что хотим: при щелчке на Combobox раскрывается список взятый с листа, затем по мере ввода текста, из этого списка удаляются строки которые не соответствуют введенному тексту.
Что не делает: не сортирует и не удаляет повторы, не добавляет в базовый список введенные значения - есть куда стремиться  :)

вот код:
Код
    Sub ComboBox1_GotFocus()
        ComboBox1.Value = ""
        ComboBox1.Clear
        ComboBox1.MatchEntry = fmMatchEntryNone
        new_list
        ComboBox1.DropDown
    End Sub

    Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        If KeyCode = 38 Or KeyCode = 40 Then Exit Sub 'не реагируем на стреки вниз и вверх
            new_list
    End Sub

    Private Sub ComboBox1_Change()
        ComboBox1.DropDown
    End Sub

    Sub new_list()
        prew = ComboBox1.Value
        arr = Sheets(1).UsedRange.Columns(1).Value
        n = 0
        ReDim l_arr(n)
        For i = 1 To UBound(arr)
            If InStr(1, UCase(arr(i, 1)), UCase(prew)) > 0 Then
                ReDim Preserve l_arr(n)
                l_arr(n) = arr(i, 1)
                n = n + 1
            End If
        Next
        ComboBox1.List = l_ar
    End Sub
Во Вложении пример с настолько подробными комментариями, чтобы было понятно мне год назад  :)
Спасибо большое Dima S, без него ничего не получилось бы
Изменено: guzen_pilot - 15.05.2016 19:00:49
Помогли? отпишись, а то мы же волнуемся )))
Затемнение под UserForm
 
Суть: при открытии UserForm под ней, на листе куча ячеек с информацией, они "рябят" и чтобы не мешали работать с формой, решил сделать затемнение вокруг формы. Просто создал черный прямоугольник, подкрутил прозрачность, заодно форму сделал модальной, при щелчке вне формы, она закрывается. В общем убил двух зайцев, да и смотрится неплохо. Выкладываю простенький пример, может кому сгодится.

Друзья, прошу не судить строго если вдруг это никому не нужно, или все и так знают, или уже 100 раз другие делали....  
Изменено: guzen_pilot - 11.05.2016 21:37:02
Помогли? отпишись, а то мы же волнуемся )))
Вписать таблицу по ширине и высоте на одну страницу
 
Друзья, очередной раз мне больше не к кому обратиться.
Имеем: табличку в которой динамическое количество строк и столбцов с мин и макс размерами, остальные скрываем
Что хотим: изменением ширины столбцов и высоты строк подогнать не скрытый диапазон под лист А4
дома я работаю на 2013 и все что хотел - сделал, но на работе попробовал на 2007-ом, там не работает как мне нужно, конкретно: высота строк слишком большая
сделал пример на основании своего рабочего, в коде конкретно указал проблемные участки

Вопросы которые я не могу понять:
1. ширина_столбца = ширина_листа_в_пикселях / кол_столбцов *коэфф, где
коэфф = [a1].columnwidth / [a1].width
при этом ширина рабочей области упорно вылазит за пределы листа
2. на 2007 при построчном проходе по коду все делается правильно, а при нормальной работе - как реакция на собитие, то нет (высота строк не правильная)
чую корень зла скрыт в PageSetup  и  Application.ScreenUpdating
Помогли? отпишись, а то мы же волнуемся )))
Работа с группами Shapes
 
Уважаемые форумчане, подскажите как грамотно реализовать нечто подобное:
Код
With Worksheets("Лист1").Shapes.группа(1)
    .AddLine 1,2,3,4
    .AddLine 5,6,7,8
End With
With Worksheets("Лист1").Shapes.группа(2)
    .AddLine 1,2,3,4
    .AddLine 5,6,7,8
End With
Worksheets("Лист1").Shapes.группа(1).Line.Weight = 3
то есть создавать однотипные объекты в разных группах, а потом работать отдельно с каждой группой
головой понимаю, что можно, но найти не смог
Помогли? отпишись, а то мы же волнуемся )))
Заставка загрузки во время выполнения макроса, не статусбар
 
Есть желание видеть какую-нибудь анимацию во время выполнения макроса (30сек-2мин)
мысли следующие:
1. через WebBrowser открывать gif - анимированную картинку  (мне не понравилось, что картинку нужно "таскать" рядом с файлом и с размерами пока не разбирался. Еще в голове вариант сохранить ее на лист в книге, а при необходимости сначала "вытаскивать" в папку как картинку, потом уже загружать через браузер, и перед закрытием удалять)
2. вставить статичное изображение фоном в юзерформу, и там вращать. как я понял - два макроса одновременно делать нельзя, но можно по одному в каждой книге, соответственно необходимо программно создать вторую книгу с макросом и формой, и пока выполняется макрос в первой книге, показывать "анимацию" второй
Как думаете, реально или замудрил?
В интернете нашел достаточно подобного рода пожеланий, но ни одной более менее дельной реализации.
я взялся, значит сделаю. Результат обещаю скинуть
Помогли? отпишись, а то мы же волнуемся )))
Анимация растворения (постепенного пропадания) картинки на листе
 
На лист вставленно изображение с привязанным макросом, по щелчку заменяется на другое изображение, можно как-нибудь анимировать эффект растворения?
Уже весь интернет перерыл, должно же быть какое-нибудь свойство типа прозрачности всего изображения (не фона)
хотя бы использовать формат / эффекты для рисунка / сглаживание только само сглаживание менять кодом
Помогли? отпишись, а то мы же волнуемся )))
Поиск и вставка данных на форму, форма зависает
 
При запуске формы, код выполняется, но в конце все зависает и приходится убивать процесс через диспетчер. Сделал пример, но там все работает, как бы я не старался, поэтому вот полная версия https://yadi.sk/i/Xj_2xPOWpeajU Уже три дня голову ломаю, что только не делал. Открываем ИШР, попадаем на вкладку "ввод данных", нажимаем на кнопку "Показать форму", в открывшейся форме в TextBox-е "Название" пишем "ЕЙСК" и нажимаем кнопку "Найти". Программка найдет и вставит нужные данные в форму, но при этом все зависнет
Помогли? отпишись, а то мы же волнуемся )))
Страницы: 1
Наверх