Excel при закрытии файла остается пустое окно

Привет!
Есть вопрос.
При закрытили Excel листа (даже пустого), закрываются клетки но остается там просто вместо клеток голубой фон. Потом только можно совсем закрыть. Ранше закрывался сразу. Как исправить?

Uploaded with ImageShack.us

Uploaded with ImageShack.us

а вот когда закрываю то остается это и просто надо закрыть еще раз:

Uploaded with ImageShack.us

Пожалусто подскажите что делать?

P.S. У меня Windows 7 Ultimate SP1 и Microsoft Offiss 2007 и сервис пак установлен. На другом компе закрывается сразу.


Есть подозрение, что на одном компе(на том, где сразу не закрывается) есть книга PERSONAL.XLS, а на другом нет. Макросами пользовались? Если при закрытых всех книгах зайти в Вид-подраздел «Окно»-Отобразить. Появиться ли какая-нибудь книга?

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453


Цитата: Prist от 10.03.2011, 19:17
Есть подозрение, что на одном компе(на том, где сразу не закрывается) есть книга PERSONAL.XLS, а на другом нет. Макросами пользовались? Если при закрытых всех книгах зайти в Вид-подраздел «Окно»-Отобразить. Появиться ли какая-нибудь книга?

Вы правы! при Вид-подраздел «Окно»-Отобразить появляется окошко, и там есть PERSONAL.XLS.
Да как то пропробовал макрос по инструкции. Но ничего не понял. А как это удалить, не получается! И там где был совет, обьяснение
как удалить так и не дали! Не поможете?


Почему же не поможем — поможем.

Private Sub Проверка_на_наличие_книги_PERSONAL_XLS()
    With Application
        If Dir(.StartupPath & .PathSeparator & "Personal.xls", vbArchive + vbHidden + vbReadOnly) = "" Then
            MsgBox "Личная книга макросов " & iFile$ & vbNewLine & _
                   "- не была создана" & vbNewLine & _
                   "- была переименована, удалена" & vbNewLine & _
                   "- или же была перемещена ...", , ""
        Else
            MsgBox "Личная книга макросов находится :" & vbNewLine & .StartupPath
        End If
    End With
End Sub

Выполнив данный код Вы узнаете, где расположена книга Personal.xls. Обычно она расположена по пути: C:UsersThe_PristAppDataRoamingMicrosoftExcelXLSTART

Вместо The_Prist — Ваша учетная запись. Находите там Вашу Personal.xls и удаляете. Ну или переименовываете.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…
www.excel-vba.ru
Просто СПАСИБО [+оказать+]
Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453


ЦитироватьPrist

Спасибо! Я код даже не использовал! А пошел по пути, нашел и удалил! Сейчас все хорошо!
Может еще кому пригодится.


Начиная с Excel 2007 закрытие последней видимой книги не вызывает автоматически закрытия приложения Excel. В принципе, это логичнее, хотя и противоречит привычкам пользователей предыдущих версий.  

  Чтобы закрыть Excel 2007 / 2010 независимо от наличия открытых книг есть такие методы:  
1. Кнопка  Office (меню Файл для 2010) – Выход из Excel (в 2007 – кнопка справа внизу)  
2. Зажать Ctrl и кликнуть по правому верхнему крестику окна Excel.  
Зажатие Ctrl и клик по крестику закроет приложение только вместе с последней видимой книгой, если же видимых книг открыто несколько, то закроется только активная книга.  
3. Если зажать Shift и кликнуть по правому верхнему крестику окна Excel, то закроется приложение вместе со всеми открытыми книгами, аналогично методу 1.  

  Чтобы закрытие последней книги автоматически закрывало приложение Excel 2007/2010, как в Excel 2003, можно в модуль ЭтаКнига записать такой код:  

  ‘ Put code into ThisWorkboook module of the PERSONAL.XLSB and save  
Public WithEvents App As Application  

  Private Sub Workbook_Open()  
 Set App = Application  
End Sub  

  Private Sub App_WorkbookDeactivate(ByVal Wb As Workbook)  
 If Not Me.Windows(1).Visible Then  
   If Workbooks.Count = 2 Then  
     App.OnTime Now, Me.CodeName & «.QuitMe»  
   End If  
 End If  
End Sub  

  Private Sub QuitMe()  
 App.Quit  
End Sub  

  Затем сохранить персональную книгу макросов и перезагрузить Excel

Закрытие Excel через UserForm

Starbirst

Дата: Среда, 10.01.2018, 10:54 |
Сообщение № 1

Группа: Пользователи

Ранг: Участник

Сообщений: 83


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

Добрый день! Ребята, помогите, пожалуйста, доработать макрос. При закрытии книги срабатывает UserForm. При сохранении книги программа не закрывается, остается пустое окно. Как выйти из Excel?

К сообщению приложен файл:

2210409.xlsm
(22.1 Kb)

Сообщение отредактировал StarbirstСреда, 10.01.2018, 10:55

 

Ответить

sboy

Дата: Среда, 10.01.2018, 11:08 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010


Яндекс: 410016850021169

 

Ответить

Starbirst

Дата: Среда, 10.01.2018, 12:35 |
Сообщение № 3

Группа: Пользователи

Ранг: Участник

Сообщений: 83


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

Пробовал добавить в книгу, не срабатывает…

 

Ответить

sboy

Дата: Среда, 10.01.2018, 13:07 |
Сообщение № 4

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

Хм, не совсем понял к чему там публичная переменная NoEvents
чуть подправил код, чтоб показать как оно должно работать

К сообщению приложен файл:

2294261.xlsm
(22.8 Kb)


Яндекс: 410016850021169

 

Ответить

Starbirst

Дата: Среда, 10.01.2018, 14:21 |
Сообщение № 5

Группа: Пользователи

Ранг: Участник

Сообщений: 83


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

Спасибо! А программу как можно выгрузить?

 

Ответить

sboy

Дата: Среда, 10.01.2018, 14:36 |
Сообщение № 6

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

Какую и куда?


Яндекс: 410016850021169

 

Ответить

Starbirst

Дата: Среда, 10.01.2018, 14:42 |
Сообщение № 7

Группа: Пользователи

Ранг: Участник

Сообщений: 83


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

При нажатии кнопок «ДА» или «НЕТ» программа не выгружается.

 

Ответить

sboy

Дата: Среда, 10.01.2018, 14:49 |
Сообщение № 8

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

Мне понятней не стало)
программа — это excel?
не выгружается куда? что в вашем понимании «выгружать»?


Яндекс: 410016850021169

 

Ответить

Starbirst

Дата: Среда, 10.01.2018, 14:59 |
Сообщение № 9

Группа: Пользователи

Ранг: Участник

Сообщений: 83


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

В стандартном диалоговом окне нажатие кнопок «ДА» или «НЕТ» закрывает Excel полностью, а с UserForm почему-то такой трюк не работает

 

Ответить

and_evg

Дата: Среда, 10.01.2018, 15:01 |
Сообщение № 10

Группа: Проверенные

Ранг: Обитатель

Сообщений: 416


Репутация:

72

±

Замечаний:
0% ±


Excel 2007

Starbirst, наверно хотите полностью эксель закрыть?
тогда уберите совсем вот это:
[vba]

Код

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ‘If NoEvents Then Exit Sub
        ‘Cancel = Not CanClose
    Выход.Show
    Cancel = Not CanClose
End Sub

[/vba]

упс нет. Вы кажется именно это и хотите обработать — событие закрытия файла… тогда не так.
просто уберите строку:
[vba]

[/vba]

Сообщение отредактировал and_evgСреда, 10.01.2018, 15:14

 

Ответить

Mikael

Дата: Среда, 10.01.2018, 17:11 |
Сообщение № 11

Группа: Пользователи

Ранг: Участник

Сообщений: 80


Репутация:

31

±

Замечаний:
0% ±


Excel 2010

Всем доброго времени!

Я бы вообще все по-другому реализовал.

В таком варианте отпадает необходимость в глобальных переменных в модуле1.
Попробуйте.

Сообщение отредактировал MikaelСреда, 10.01.2018, 17:52

 

Ответить

Mikael

Дата: Среда, 10.01.2018, 17:43 |
Сообщение № 12

Группа: Пользователи

Ранг: Участник

Сообщений: 80


Репутация:

31

±

Замечаний:
0% ±


Excel 2010

Я бы вообще все по-другому реализовал.

Небольшое пояснение: в обработчик события _BeforeClose должен заключается код, который выполняется непосредственно перед выходом из книги. Пользователь уже нажал выйти и excel уже закрывает книгу, поэтому закрывать ее из формы еще раз нет никакого смысла, даже больше — такой код еще раз вызывает событие _BeforeClose, и Вам приходится придумывать «костыли» в виде глобальных переменных.

Надеюсь смог помочь немного разобраться :)

 

Ответить

Mikael

Дата: Среда, 10.01.2018, 19:08 |
Сообщение № 13

Группа: Пользователи

Ранг: Участник

Сообщений: 80


Репутация:

31

±

Замечаний:
0% ±


Excel 2010

Я тут немного подумал и укоротил код :)

Хотя первый вариант мне тоже нравится — он наглядный и легко читаемый.

Сообщение отредактировал MikaelСреда, 10.01.2018, 19:14

 

Ответить

Starbirst

Дата: Среда, 10.01.2018, 20:51 |
Сообщение № 14

Группа: Пользователи

Ранг: Участник

Сообщений: 83


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

Ребята! Гениально!!! specool Огромная благодарность! clap

Сообщение отредактировал StarbirstСреда, 10.01.2018, 21:15

 

Ответить

Starbirst

Дата: Четверг, 11.01.2018, 07:32 |
Сообщение № 15

Группа: Пользователи

Ранг: Участник

Сообщений: 83


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

Mikael, спасибо большущее :-) Сможете усовершенствовать код таким образом, чтобы диалоговое окно UserForm не открывалось при закрытии Excel, если в книге не были произведены изменения?

 

Ответить

and_evg

Дата: Четверг, 11.01.2018, 07:41 |
Сообщение № 16

Группа: Проверенные

Ранг: Обитатель

Сообщений: 416


Репутация:

72

±

Замечаний:
0% ±


Excel 2007

Starbirst, [vba]

Код

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Not (ThisWorkbook.Saved) Then
        With Выход
            .Show
            If .bCancelClose Then Cancel = 1
        End With

                Unload Выход
    End If
End Sub

[/vba]

 

Ответить

Starbirst

Дата: Четверг, 11.01.2018, 08:07 |
Сообщение № 17

Группа: Пользователи

Ранг: Участник

Сообщений: 83


Репутация:

0

±

Замечаний:
0% ±


Excel 2003

Огромная благодарность! :)

 

Ответить

У меня была точно такая же проблема в Excel 2015 довольно долгое время, и когда я спрятал личное.книга xlsb, вместо этого откроется пустая страница, и я не мог закрыть ее, не закрыв файл, который я действительно хотел открыть.

но я наконец нашел решение! Моя проблема была в том, что у меня было личное.xlsb-файл в другом месте, и по какой-то причине поиск диска C не возвращал совпадение для этого имени файла. Мое местоположение было таким же, о котором упоминала Амбер, но я хотел поделиться, как я нашел его в случае, если кто-то в другом месте.

решение найти реальное местоположение личного.файл xlsb, так что вы можете удалить его. Для этого откройте excel и переключитесь на личный.файл xlsb. Теперь выберите вкладку «Файл» в левом верхнем углу, который будет загружать страницу «информация». В правой части информации на этой странице есть такая информация ,как » свойства, связанные даты, связанные люди и связанные документы.»Непосредственно в Документы-это гиперссылка с надписью » Открыть расположение файла.»Нажмите на эту гиперссылку, и excel откроет истинное местоположение личного.файл xlsb независимо от места конкретной установки поставил его.

теперь закройте Excel, удалите личное.xlsb-файл и снова откройте Excel. Он должен открыть только нужный файл, и второе окно больше не появится. С этого момента я ожидаю других советов в интернете о создании/удалении/показе/скрытии личного.xlsb файл будет работать как ожидаемый. Но я оставил его удаленным, и Excel, наконец, загружается, как я ожидал.

Много раз видно, что когда вы пытаетесь открыть файл Excel, Excel открывается. Но, пусто. Если вы видите, что содержимого нет, не паникуйте, это не значит, что содержимое стерто. Существуют способы восстановления данных.

Эта проблема возникает, когда вы пытаетесь открыть файл Excel, несовместимый с функцией защищенного просмотра Excel. Поэтому вместо открытия документа он просто отображает пустое окно Excel.

В сегодняшней статье будут рассмотрены различные способы исправления Microsoft Excel, показывающего пустое серое окно вместо открытия документа.

Исправление 1. Отключите параметр «Игнорировать DDE для других приложений».

Шаг 1: Откройте приложение MS Excel (не тот файл Excel, у которого возникли проблемы с открытием) и щелкните пустой документ.

Шаг 2: В верхнем меню нажмите «Файл».

Параметр меню «Файл»

Шаг 3: Нажмите «Дополнительно», а затем выберите «Параметры».

Больше вариантов

Шаг 4. В окне «Параметры Excel» с левой стороны нажмите «Дополнительно».

Шаг 5. Прокрутите вниз и найдите раздел «Общие».

Шаг 6. В разделе «Общие» снимите флажок «Игнорировать другие приложения, использующие динамический обмен данными (DDE)».

Шаг 7: Нажмите ОК

Параметры Excel Мин.

Шаг 8: Закройте приложение MS Excel

Шаг 9: Теперь попробуйте открыть файл Excel, который не открывается.

Исправление 2: отключить аппаратное ускорение

Шаг 1: Откройте приложение MS Excel и щелкните пустой документ (не файл Excel, который не открывается).

Шаг 2: В верхнем меню нажмите «Файл».

Параметр меню «Файл»

Шаг 3: Нажмите «Дополнительно», а затем выберите «Параметры».

Больше вариантов

Шаг 4. В окне «Параметры Excel» с левой стороны нажмите «Дополнительно».

Шаг 5. Прокрутите вниз и найдите раздел «Дисплей».

Шаг 6. В разделе «Дисплей» установите флажок «Отключить аппаратное ускорение графики».

Шаг 7: Нажмите кнопку «ОК».

Минимальное отключение аппаратного графического ускорения

Проверьте, помогает ли это. Если нет, попробуйте следующее исправление.

Многие пользователи сообщают, что они исправили проблему с помощью этого простого исправления.

Шаг 1: Откройте приложение MS Excel и откройте пустой документ.

Шаг 2: Сохраните этот файл под любым именем по вашему выбору.

Шаг 3. Сверните этот документ и игнорируйте его.

Шаг 4: Теперь откройте проблемный файл Excel. Вы должны увидеть открытие файла.

ПРИМЕЧАНИЕ. Не закрывайте пустой документ, который вы создали.

Исправление 4. Проверьте, не вызывают ли какие-либо надстройки проблему.

Шаг 1: Откройте приложение MS Excel (не тот файл Excel, у которого возникли проблемы с открытием) и щелкните пустой документ.

Шаг 2: В верхнем меню нажмите «Файл».

Параметр меню «Файл»

Шаг 3: Нажмите «Дополнительно», а затем выберите «Параметры».

Больше вариантов

Шаг 4. В окне «Параметры Excel» слева нажмите «Надстройки».

Шаг 5. В раскрывающемся списке «Управление» выберите «Надстройки COM».

Шаг 6: Нажмите кнопку ОК

Минимум надстроек Com

Шаг 7: В окне надстроек COM снимите галочки со всех плагинов и нажмите OK.

2021 03 16 09:00 49

Шаг 8: Теперь проверьте, можете ли вы открыть проблемный файл Excel.

Шаг 9. Если да, включайте надстройки по одной и проверяйте, какая надстройка вызвала проблему.

Шаг 10. Как только надстройка, вызывающая проблемы, будет определена, примите необходимые меры.

Если это исправление не помогло и проблема не устранена, попробуйте следующее исправление.

Исправление 5: восстановить приложение MS Office

ПРИМЕЧАНИЕ. Убедитесь, что у вас есть работающее сетевое подключение.

Шаг 1: Удерживая вместе клавиши Windows+r, откройте «Выполнить терминал».

Шаг 2. В окне «Выполнить» введите appwiz.cpl и нажмите Enter.

2021 03 03 17:40 32

Шаг 3. В открывшемся окне «Программы и компоненты» найдите Microsoft Office Suite или Microsoft 365. Щелкните его правой кнопкой мыши и выберите «Изменить».

Изменить вариант

Шаг 4. Если появится всплывающее окно UAC с запросом разрешений, нажмите «Да».

Шаг 5: В появившемся окне отметьте Quick Repair.

Шаг 6: Нажмите кнопку «Восстановить».

Быстрый ремонт

Шаг 7: Перезагрузите систему и проверьте, устранена ли ошибка.

Это все

Мы надеемся, что эта статья была информативной. Спасибо за чтение

Пожалуйста, прокомментируйте и дайте нам знать, если вышеуказанные исправления помогли.

Понравилась статья? Поделить с друзьями:
  • Excel при закреплении не все
  • Excel при загрузке были обнаружены ошибки в следующих областях
  • Excel при достижении определенного числа
  • Excel при добавлении строки автоматически формула
  • Excel при выполнении макроса ошибку