Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 19.07.2017, 17:15   #1
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
Репутация: 10
По умолчанию Спрятать форму по условию

Дорогие форумяне!
как можно скрыть форму при условии что она уже открыта
за макросом закреплена одна и так же кнопка Application.OnKey "{BS}", "FormShowHide"

пыталась нечто сообразит и не только)

Код:
Sub FormShowHide()


    If UserForm1.Visible = True Then    
    UserForm1.Hide
    Else: UserForm1.Show
    End If
    

End Sub
__________________
Знание надмевает, а любовь назидает

Последний раз редактировалось Оксана33; 19.07.2017 в 18:35.
Оксана33 вне форума   Ответить с цитированием
Старый 19.07.2017, 17:42   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,053
Репутация: 5656
По умолчанию

Цитата:
Сообщение от Оксана33 Посмотреть сообщение
ыталась нечто сообразит и не только)
ну, у меня ваш вариант работает.
только форму нужно сделать не модальной:

- либо в конструкторе в свойствах (Properties) у формы UserForm1 свойство ShowModal поставьте в False

- либо открывайте форму в немодальном режиме:
Код:
Sub Кнопка1_Щелчок()

    If UserForm1.Visible = True Then
      UserForm1.Hide
    Else
      UserForm1.Show vbModeless
    End If
    
End Sub
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 19.07.2017, 18:37   #3
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
Репутация: 10
По умолчанию

не выходит( я дополнила в теме, что это клавиша Application.OnKey "{BS}", "FormShowHide" и нажатием на нее я хочу вызывать форму и после ею же закрывать
она вызывает форму, но не закрывает
__________________
Знание надмевает, а любовь назидает

Последний раз редактировалось Оксана33; 19.07.2017 в 18:57.
Оксана33 вне форума   Ответить с цитированием
Старый 19.07.2017, 23:38   #4
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,671
Репутация: 1096
По умолчанию

Module1
Код:
Option Explicit
Public IsFormLoaded As Boolean
Sub CheckForm()
    If IsFormLoaded Then
        UserForm1.Hide
        IsFormLoaded = False
    Else
        UserForm1.Show vbModeless
        IsFormLoaded = True
    End If
End Sub
На листе кнопка, на кнопку - событие CheckForm

UserForm1
Код:
Option Explicit
Private Sub UserForm_Initialize()
    IsFormLoaded = True
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    IsFormLoaded = False
End Sub
upd. не читал дополнение о клавише, ну думаю как вариант можете допилить под себя
Код:
Application.OnKey "{BS}", "CheckForm"
__________________
Mailto: media.project@ukr.net

Последний раз редактировалось Aleksandr H.; 19.07.2017 в 23:41.
Aleksandr H. вне форума   Ответить с цитированием
Старый 20.07.2017, 17:06   #5
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
Репутация: 10
По умолчанию

пасибочки, надо будет поиграться)
__________________
Знание надмевает, а любовь назидает
Оксана33 вне форума   Ответить с цитированием
Старый 20.07.2017, 17:52   #6
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
Репутация: 10
По умолчанию

с кнопкой выходит, а с Application.OnKey только если курсор перевести на лист, то есть перевести фокус на лист

а нужно что бы не выходя за пределы формы закрывать ее
и мне нужно без кнопки, она есть на форме, но хотелось бы убрать, чтоб освободить место
спасибо за ответы
__________________
Знание надмевает, а любовь назидает

Последний раз редактировалось Оксана33; 20.07.2017 в 17:56.
Оксана33 вне форума   Ответить с цитированием
Старый 20.07.2017, 18:12   #7
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,053
Репутация: 5656
По умолчанию

Цитата:
Сообщение от Оксана33 Посмотреть сообщение
а нужно что бы не выходя за пределы формы закрывать ее
по Escape устроит?

если нужно закрытие формы по какой-то определённой клавише (сочетанию),
тогда смотрите в сторону создания на форме обработчика события KeyDown (см. Keydown event on a userform)



Цитата:
Сообщение от Оксана33 Посмотреть сообщение
надо будет поиграться)
вот нечем барышне больше поиграться, как кодом на VBA

Последний раз редактировалось Serge_Bliznykov; 20.07.2017 в 18:16.
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 20.07.2017, 19:24   #8
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
Репутация: 10
По умолчанию

ну я имела ввиду разобраться
__________________
Знание надмевает, а любовь назидает
Оксана33 вне форума   Ответить с цитированием
Старый 20.07.2017, 19:30   #9
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
Репутация: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
по Escape устроит?
как вариант)
__________________
Знание надмевает, а любовь назидает

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Спрятать главную форму и открыть другую Ernest027 Общие вопросы Delphi 1 29.01.2017 23:18
Загрузка данных на форму по условию значения в ComboBox ольгаг Общие вопросы .NET 0 12.02.2016 14:29
Спрятать, скрыть форму... segail HTML и CSS 1 19.02.2012 19:41
При запуске спрятать форму Polotenchik Общие вопросы Delphi 11 07.08.2009 02:14
спрятать главную форму а открыть другую Ozerich Общие вопросы Delphi 9 05.08.2008 15:18


12:44.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.