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

Страницы: 1 2 След.
Незаметное переключение между UserForm.
 
Андрей VG, здравствуйте! Нет, настройки не пойдут. Я думаю, что это можно сделать как нибудь через WinAPI.
Незаметное переключение между UserForm.
 
Sanja, удобней будет ориентироваться "это что?"-"это куда?", иначе я уже начал путаться.

Если нет вариантов, тогда конечно буду продолжать строить с MultiPage.
Незаметное переключение между UserForm.
 
Влад, сейчас у меня как раз MultiPage, но кода уже столько, что я начинаю путаться. Вот в этом и проблема )

Юрий М, чтобы переключение было как в MultiPage, но между формами. Чтобы не было эффекта затухания формы когда она скрывается, а так же когда открывается.
Незаметное переключение между UserForm.
 
Возможно ли сделать переключение между формами незаметным?
Хотелось бы избавится от эффекта появления.
Как программно уменьшить ширину формы?
 
У меня рамка исчезает, а вот ширина остается 100 пикселей.
Как программно уменьшить ширину формы?
 
У меня нет!
Как программно уменьшить ширину формы?
 
На 2010 excel работает). Но данный файл могут использовать и на 2003 excel и на 2007 тоже (. Есть варианты?
Как программно уменьшить ширину формы?
 
Хотя у меня есть портабельный excel 2010, сейчас проверю на нем.
Как программно уменьшить ширину формы?
 
Да Юрий, нужно как у Вас!) Наверное Вы правы, все зависит от версии. У меня excel 2003, 2007 и Windows 7.
Как программно уменьшить ширину формы?
 
vikttur, смысл в красоте задуманного, я понимаю ваш вопрос, когда не видишь того, что делается, идея кажется бредовой ).
Юрий, у меня не так, как у Вас (.
И в чем же у меня в таком случае проблема? Не понимаю...
Я конечно нашел выход, творческий так сказать, сделал в фотошопе подложку заднего фона формы, так как эта форма выходит поверх другой.
... но, везде так не выкрутится.
Как программно уменьшить ширину формы?
 
Да, именно, хотелось бы без рамки, и ширину 54 пикселя.
Как программно уменьшить ширину формы?
 
Нет не работает, проверил тоже, создал новый документ, сделал форму, копировал код из своей формы.
При открытии ширина формы на 100 пикселей, рамки Windows нет.
Изменено: damask_86ru - 02.06.2015 23:02:46
Как программно уменьшить ширину формы?
 
Здравствуйте Юрий!
И правда, проверил на чистой форме:
Код
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private ihWnd As Long
'-----------------------------------------------------------------------
Private Sub UserForm_Initialize()
    ihWnd = FindWindow(vbNullString, Me.Caption)
    SetWindowPos ihWnd, 0, Me.Left, Me.Top, 54, Me.Height, 0
End Sub
... и ошибка подсвечивалась, и форма уменьшилась в размере, как надо (почти)!

Но я добавлял в свою форму, лишь ...
Код
Private ihWnd As Long

и в активацию формы "Private Sub UserForm_Activate()", добавил:
Код
ihWnd = FindWindow(vbNullString, Me.Caption)
SetWindowPos ihWnd, 0, Me.Left, Me.Top, 54, Me.Height, 0

... так как в моей форме имелись эти две декларации и еще много других, в ней у меня скрываются рамки и элементы Windows (может быть как раз в этом то и проблема, что не получается?).

Вот пример, как в моей форме:
Код
Private Const GWL_STYLE As Long = -16&
Private Const GWL_EXSTYLE = -20&

Private Const WS_CAPTION As Long = &HC00000
Private Const WS_BORDER As Long = &H800000
Private Const WS_EX_LAYERED = &H80000
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_NOOWNERZORDER = &H200
Private Const SWP_NOZORDER = &H4
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2

Private Type POINTAPI
    x As Long
    Y As Long
End Type

Private Declare Function DrawMenuBar Lib "user32.dll" ( _
                                     ByVal hWnd As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'Private Declare Function AnimateWindow Lib "user32" (ByVal hWnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Boolean
Private Declare Function GetCursorPos& Lib "user32.dll" (lpPoint As POINTAPI)
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Sub ReleaseCapture Lib "user32" ()
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private ghWnd_Info As Long
Private ihWnd As Long
'-----------------------------------------------------------------------------

Private Sub UserForm_Activate()

'скрыть рамку Windows
'-----------------------------------------------------------------------------
    ghWnd_Info = FindWindow("ThunderDFrame", Me.Caption)

    Dim iStyle As Long
    iStyle = GetWindowLong(ghWnd_Info, GWL_STYLE)
    iStyle = iStyle And Not WS_CAPTION And Not WS_BORDER

    SetWindowLong ghWnd_Info, GWL_STYLE, iStyle
    SetWindowLong ghWnd_Info, GWL_EXSTYLE, 0
    DrawMenuBar ghWnd_Info
    
'настроить ширину формы
'-----------------------------------------------------------------------------
    ihWnd = FindWindow(vbNullString, Me.Caption)
    SetWindowPos ihWnd, 0, Me.Left, Me.Top, 54, Me.Height, 0

End Sub
Изменено: damask_86ru - 02.06.2015 22:39:08
Как программно уменьшить ширину формы?
 
Всем привет!
Данный вопрос задавал на "Mir Excel", но пока ответа решающего мой вопрос так и не получил, поэтому дублирую его здесь!
Необходимо сделать форму шириной (Width = 54), а в настройках формы данный параметр невозможно сделать меньше значения "99".

Пробовал так:
Код
Private Sub UserForm_Activate()
    Me.Width = 54
End Sub
... результат тот же, форма принимает размер по ширине = 99

На "Mir Excel" AndreTM предложил вариант, через WinAPI:
Код
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags AsLong) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private ihWnd As Long
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Private Sub UserForm_Initialize()
    ihWnd = FindWindow(vbNullString, Me.Caption)
    SetWindowPos ihWnd, 0, Me.Left, Me.Top, 54, Me.Height, 0
End Sub
... но и с ним у меня ничего не выходит (.

Подскажите как решить эту задачу, если она решаема, уж больно необходимо уменьшить ширину формы до 54 пикселей.
Изменено: damask_86ru - 02.06.2015 17:57:13
ComboBox с уникальными значениями по возрастанию (по алфавиту).
 
Всем БОЛЬШОЕ СПАСИБО!!!
ComboBox с уникальными значениями по возрастанию (по алфавиту).
 
Я рассматривал этот вариант (NoDumps), но как только я не пробовал прикрутить к своему коду, он не хочет работать, постоянно ошибки. А вот тот вариант кода для выбора уникальных значений, что в моем файле отлично работает (не помню уже где его нашел, на каком форуме, просто столько всего перекопал). У меня вопрос, возможно ли именно тот код, что в файле во вложении как то доделать? Чтобы помимо выбора уникальных значений он сортировал их по возрастанию (по алфавиту).
ComboBox с уникальными значениями по возрастанию (по алфавиту).
 
Всем привет!

В файле есть табличка в два столбца и кнопка вызова формы, на форме имеется ComboBox1 и ComboBox2 с кодом для сортировки уникальных значений из списка. Как дополнить данный код для отображения данных в ComboBox'ах по возрастанию (по алфавиту)?  
Как изменить формат даты "1/12/15" во второй колонке ListBox на "12.01.2015".
 
Спасибо Ребята!
Оба варианта отлично работают!
Как изменить формат даты "1/12/15" во второй колонке ListBox на "12.01.2015".
 
Всем привет!
У меня такой вопрос, почему во второй колонке ListBox дата отображается не как в таблице?
Помогите решить проблему, если это возможно.
Заполнение ComboBox с двумя столбцами уникальными значениями.
 
Большое СПАСИБО за помощь!
А есть возможность выстроить в списке уникальные значения по алфавиту?
Заполнение ComboBox с двумя столбцами уникальными значениями.
 
Всем привет!
На форме имеется ComboBox2, который имеет два столбца. Как заполнить его уникальными значениями из двух столбцов таблицы на листе?
Учитывая, что таблица будет увеличиваться со временем.

столбец "A" (таблица) = 1-ый столбец в ComboBox2
столбец "B" (таблица) = 2-ой столбец в ComboBox2
Изменено: damask_86ru - 01.03.2015 10:42:04
Фильтр ComboBox и вывод найденных данных в таблице на ListBox.
 
Всем привет!
Возможно ли осуществить?

На листе Excel имеется таблица из 4 столбцов и кнопка запуска UserForm.
На UserForm имеется ListBox с четырьмя колонками для отображения таблицы, еще имеется 4 ComboBox которые необходимо наполнить уникальными значениями из столбцов таблицы.
Необходимо отфильтровывать уникальные значения в ComboBox'ах по мере выбора из них какого либо значения, а именно, допустим во втором ComboBox (плотность р-ра) я выбираю 1900, то тогда списки остальных ComboBox отфильтровываются под это значение. А найденные данные в таблице, вывести в ListBox.

К примеру, на основании таблицы:
ComboBox1 = направление, экс.колонна, мост
ComboBox2 = 1900 (выбранное значение в ComboBox2)
ComboBox3 = 10, 65, 60
ComboBox4 = 5, 30, 35

Есть подобный пример (имеется ввиду фильтр ComboBox), но в нем фильтрация последовательна, начиная с ComboBox1, без возможности начинать выбирать с любого ComboBox.
Изменено: damask_86ru - 26.02.2015 12:37:46
ComboBox и его данные в таблице.
 
Александр Моторин, если вам интересна тема...
Во вложении рабочий файл (по крайней мере у меня работает) который я предоставлял в начале темы для эксперимента над ним, и который переделал практически один в один по предложенному варианту Юрия М.
А если пройдете по ссылке в сообщении выше от некоего "Z", то там есть еще один вариант.
ComboBox и его данные в таблице.
 
Прошу прощения! Я честно сказать, правила и не читал. Знал лишь то, что повторять вопросы нельзя, и создавая одну тему, развивать в ней несколько.
Я оба варианта возьму на вооружение. Обещаю, что подобного не повторится.
ComboBox и его данные в таблице.
 
Юрий М, А Вам СПАСИБО! Вы меня не первый раз выручаете, если помните).
ComboBox и его данные в таблице.
 
Z, однако ищу ответ на свой вопрос, а не просто так, от делать нечего его задаю!
ComboBox и его данные в таблице.
 
Увы. Если в предыдущем Вашем файле кнопки срабатывали на нажатие хотя бы визуально, при этом никаких действий не происходило, то в 2003 на них даже нажать нельзя, будто это картинка.
А скопировав Ваш код и модуль в свой файл, у меня все заработало!
ComboBox и его данные в таблице.
 
Спасибо Вам Юрий!
Ни знаю по какой причине Ваш файл у меня не работает?
НО, скопировал Ваш код который вы ввели в форму, изменил Ru на Russian, и создал модуль вставив в него код как в Вашем файле. Заработало!!!
ComboBox и его данные в таблице.
 
Мой исходник работает, я сам его собрал, и проверил. И сейчас скачал, и свой и Ваш, результат тот же. Мой работает, Ваш нет.
ComboBox и его данные в таблице.
 
Извините, у меня не работает.
Возможно у нас разные версии Excel, в этом и проблема...
Страницы: 1 2 След.
Наверх