Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2011, 17:04   #1
iami
Пользователь
 
Регистрация: 04.07.2011
Сообщений: 18
По умолчанию VBA работа с пользовательской формой

Доброго времени суток!

Создаю макросы для обработки данных в таблице. Решила все макросы вызывать с формы. Но после вызова формы сама таблица становится закрытой для редактирования. Доступ появляется только после закрытия формы. Что можно с этим сделать?
iami вне форума Ответить с цитированием
Старый 06.07.2011, 17:21   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Форму в свойствах сделать немодальной. Или макросом:

попробуйте установить свойство формы ShowModal в False(или вызывать форму так UserForm1.Show 0)
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 06.07.2011 в 17:24.
Hugo121 вне форума Ответить с цитированием
Старый 06.07.2011, 17:33   #3
iami
Пользователь
 
Регистрация: 04.07.2011
Сообщений: 18
По умолчанию

Замечательное свойство это ShowModal. Не заметила сразу))
Пыталась реализовать как тут, но не получается (
iami вне форума Ответить с цитированием
Старый 06.07.2011, 19:50   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Как тут -рабочий пример

А если так попробовать
Код:
Private Const GWL_STYLE = (-16)
Private Const WS_THICKFRAME = &H40000
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex 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 hwnd As Long
Private WndStyle As Long
    
Private Sub UserForm_Activate()

hwnd = GetActiveWindow

WndStyle = GetWindowLong(hwnd, GWL_STYLE)

WndStyle = SetWindowLong(hwnd, GWL_STYLE, WndStyle Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)

End Sub
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 06.07.2011 в 19:54.
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с формой Claster Общие вопросы Delphi 1 07.02.2011 13:17
Создание теста в VBA с пом-ью пользовательской формы. HellkilleR Microsoft Office Excel 3 14.04.2010 23:00
Работа с формой. S_Yevgeniy Общие вопросы Delphi 12 13.10.2009 21:23
Работа с формой! Lemo Помощь студентам 25 16.01.2009 11:49
Работа с формой dolphin705 Общие вопросы Delphi 5 23.08.2008 12:59