Страницы: 1 2 След.
RSS
Как скрыть книгу Excel
 
Доброго времени суток, форумчане!
подскажите, как правильно скрыть приложение, так чтобы остальные открытые книги не сворачивались и были активны для редактирования.
Код
application.visible=true
userform.show
application.visible=false

не подходит.  
 
Это как? Скрыть приложение, но оставить видимыми книги этого приложения? Скрыть автомобиль, но сиденья, руль и водителя не скрывать? :-)
Может скрыть книгу?
Код
ThisWorksbook.Windows(1).Visible = false
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Пишу с телефона(не могу поменять шрифт) . Скрыть только книгу(прилодение) с запущенный формой.  
 
Не работает. Это я наверно криворукий
Код
Private sub Workbook_open()
Thisworksbook.windows(1).visible=false
Userform1.show
End sub

Где не правильно?  
 
Опечатка. Одна буква лишняя была:
Код
ThisWorkbook.Windows(1).Visible = True
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Ругается на 2ю строчку
 
А у меня нет. Скрывает книгу, показывает форму. Вы опечатку исправили?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Вопрос прост. Необходимо выводить форму, но при этом не скрывая(не сворачивать)  остальные книги. Опечатку исправил
 
Вопрос прост. Ответ тоже. У меня работает. Книга скрывается только одна, в которой код. Что не так-то? Можете нормально пояснить какие-такие другие книги надо оставить и какую одну скрыть?  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
У меня не работает. Ругается на 2ю строчку userform1.show.   проблема в том, что при запуске книги с формой для ввода, все другие книги сворачивается и их нельзя открыть пока не закроешь форму. Нужен код, чтобы открывалась только форма для заполнения и пр этом остальные книги(открытые или будут открыты) были доступны для редактирования.
 
как-то так может
Код
UserForm1.Show vbModeless
 
Код
Private sub Workbook_open() 
Thisworkbook.windows(1).visible=false 
Userform1.show vbmodeless 
End sub 

Все равно не работает.
Работает только, когда меняешь false на true, но при этом видна книга с формой
 
У меня тоже работает. В книге1 создаю форму. В этой же книге
Код
Private Sub Workbook_Open()
ThisWorkbook.Windows(1).Visible = False
UserForm1.Show 0
End Sub
Сохраняю и закрываю. Открываю книгу2 затем книгу1 с формой. Итог: На переднем плане моя форма, на заднем плане книга2.
Изменено: Ronin751 - 13.08.2015 10:48:33
 
Saifer! Скажите, а у Вас при инициализации или активации Вашей формы ни каких макросов не выполняется? Если Вы пытаетесь в форму подтянуть данные с книги которую скрыли, то ошибка вполне реальна.
 
Ronin751! У меня из этой формы данные сохраняются еще в 3 книги. В книги с формой только диапазоны данных для Combobox. Предлагаемый вариант у меня так и не запустился. Прошу оказать помощь. Помогло только так
userform.show 0

Возможно есть вариант,
сделать так, чтобы только в книги с формой скрывалось приложение?
 
Цитата
Saifer написал:
Скажите, а у Вас при инициализации или активации Вашей формы ни каких макросов не выполняется?
Тянет данные со скрытого листа той же книги с формой.
 
10 постов - и ни одного файла!...
А вот был бы с подробным вопросом в первом посте - ответ был бы вероятно во втором.
 
К сожалению не могу приложить файл,т.к он содержит конфиденциальную информацию.
 
А подготовить файл-пример никак? Лучше вы тут головы ломайте?
 
В понедельник выложу пример.
 
вот пример https://cloud.mail.ru/public/F5KJ/YNe3cPt8X весит 234 кб
 
Saifer Ошибка возникает из-за попытки получить данные в форму с листа книги, которая скрыта. Нельзя взять то чего не видно. Может лучше заполнять форму данными совсем с другого файла? Но можно так:
В модуль книги
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
.Windows(1).Visible = True: .Save: .Close True
End With
End Sub

Private Sub Workbook_Open()
 Опросник.Show 0
End Sub

В модуль формы "ОПРОСНИК"
Код
Private Sub UserForm_Initialize()
Dim iMassiv
...
ThisWorkbook.Windows(1).Visible = False
End Sub
 
Цитата
Ronin751 написал: Нельзя взять то чего не видно
С каких пор? :-)
Код
Private Sub UserForm_Initialize()
Dim iMassiv
iMassiv = ThisWorkbook.Sheets("Данные").Range("A1:A3")
Me.ComboBox1.List = iMassiv
iMassiv = ThisWorkbook.Sheets("Данные").Range("B1:B4")
Me.ComboBox2.List = iMassiv
iMassiv = ThisWorkbook.Sheets("Данные").Range("C1:C3")
Me.ComboBox3.List = iMassiv
End Sub
И такое указание надо делать всегда. Пару статей писал, где упоминал подобное обращение к диапазонам:
И на мой взгляд было бы неплохо при закрытии формы либо книгу отображать обратно, либо закрывать её совсем. Т.к. повторной возможности вызвать форму не предусмотрено. Только при открытии книги.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал: С каких пор?...
До этого не додумался. Спасибо!

Форму можно двигать, открывать другие книги.
Все сделал как Вы написали
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook.Windows(1).Visible = True: .Save: .Close True
End With
End Sub

Private Sub Workbook_Open()
Опросник.Show 0
End Sub

В модуль формы "ОПРОСНИК"
Код
Private Sub UserForm_Initialize()
Dim iMassiv...
ThisWorkbook.Windows(1).Visible = FalseEnd Sub

Но книга с формой все еще не убирается(((
 
Прокомментированный Вами код я не советовал. Мой код в самом начале обсуждения. И он работает, если внутри формы все обращения к листам и диапазонам скрытой книги сделать правильно.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Saifer! Я боюсь, что то ли мы Вас не можем понять, то ли Вы что то не договариваете. The_Prist уже во втором посте Вам дал более чем четкий ответ. У всех всё получается и работает. Создайте новую книгу, а затем откройте Вашу ( с формой ). Вы увидите свою форму но при этом самой книги не будет, будет лишь вновь созданная. Что у Вас не так?
 
При запуске ругается на опросник.show 0 object required.  
 
Инициализаю формы размещаю в модуле,  все работает, но поля формы (combobox) пустые. Размещаю Инициализаю в теле формы не запускается.  Используется макрос
Thisworkbook.window(1).visible=false
Опросник.show 0
End sub
 
Вы рекомендации по обращению к листам применили? Вряд ли. У всех, кроме Вас все работает.
Я даже код на Initialize формы Вашего файла привел. Осталось лишь применить его вместо того, который был у Вас. Он никаких ошибок запуска не вызывает и все списки нормально формируются. Весь Ваш код внутри формы править не собираюсь - попробуйте сами разобраться.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Вот всё, что было описано в посте 22 и совет The_Prist в посте 23. Может так начнет работать?!
P.S. ИМХО: Лучше загружать картинку на форму. Так файл меньше весить будет.
Страницы: 1 2 След.
Читают тему
Наверх