Vba excel закрыть все окна

 

Здравствуйте всем! Всех с прошедшим Днем Святого Валентина!
Имеется несколько окон проектов VBA (во вложении скриншот).
Как быстро их все закрыть можно, не закрывая каждое по отдельности?
Можно стандартными средствами, можно VBA.
Спасибо.

 

Пытливый

Пользователь

Сообщений: 4587
Регистрация: 22.12.2012

Здравствуйте. А даблклик по заголовку любого из окон — не подойдет?

Кому решение нужно — тот пример и рисует.

 

Дмитрий Щербаков

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Вопрос: зачем? Чем мешают? Если не нравится обилие заголовков и вся эта «мельтешня» — просто разверните нужную окно на всю область окна редактора. Остальные скроются за ним и отображать их можно будет двойным щелчком мыши по нужному модулю.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Все дело в том, что работа в проекте происходит на двух мониторах, в «растянутом окне». В одном — USerform, например, в другом — какой-нибудь модуль. После переключения на другой модуль окна начинают одно на одно налазить, уходит некоторое количество времени, чтобы снова их расставить, как надо.
Даблклик, конечно, решает, но тогда на два монитора одно окно будет. А нужно два. одновременно.

 

Дмитрий Щербаков

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#5

16.02.2018 15:24:05

Могу предложить только код VBA:

Код
Sub CloseAllVBE_Windows()
    Dim vbp_w
    For Each vbp_w In ThisWorkbook.VBProject.VBE.Windows
        Select Case True
        Case Right(vbp_w.Caption, 6) = "(Code)", Right(vbp_w.Caption, 10) = "(UserForm)"
            vbp_w.Close
        End Select
    Next
End Sub

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Дмитрий, спасибо!
p.s. mz-tools старой бесплатной версии ни у кого не осталось?

 

Апострофф

Пользователь

Сообщений: 720
Регистрация: 06.04.2015

Нажать и не отпускать [Ctrl+F4] — пара секунд, и нет окон.

 

Не думала, что такие хоткеи предусмотрены.
Спасибо.

 

Anatoliy Pychev

Пользователь

Сообщений: 79
Регистрация: 05.09.2017

#9

16.02.2018 21:08:08

Цитата
Diana Tailor написал:
p.s. mz-tools старой бесплатной версии ни у кого не осталось?

с этим помогу

https://drive.google.com/open?id=13qyJElSlFUFCef0Z7J8SsEfJTpVMRrBV

Версия 3

 

ZVI

Пользователь

Сообщений: 4328
Регистрация: 23.12.2012

Надстройка

VBE Tools

добавляет такой пункт:
VBE — Window — Close All Document Windows
Но нужно помнить, что и эта надстройка, и MZTools — 32-битные и будут работать только в 32-битном Office

Изменено: ZVI16.02.2018 21:51:24

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#11

16.02.2018 22:15:50

Цитата
mz-tools старой бесплатной версии ни у кого не осталось?

http://excelvba.ru/soft/VBE
http://www.planetaexcel.ru/techniques/3/228/

Изменено: Kuzmich16.02.2018 22:20:31

 

Всем спасибо огромное за помощь!

 

khizhin62

Пользователь

Сообщений: 7
Регистрация: 15.12.2018

#13

14.11.2022 09:25:07

Апострофф

, спасибо — идеальное решение!!!

Эти макросы помогут вам закрыть все открытые файлы Excel, оставив лишь текущий файл.

Выбирайте любой из них — они мало чем отличаются.

Первый оставляет открытой только активную книгу, независимо от того, из какого файла запущен этот макрос:

Sub CloseAllWorkbooks1()
    ' закрываем все книги, кроме текущей (активной)
    Dim wb As Workbook: Application.ScreenUpdating = False
    For Each wb In Workbooks    ' перебираем все открытые книги
        If Not wb Is ActiveWorkbook Then    ' если это не этот файл
            If wb.Windows(1).Visible Then wb.Close    ' закрываем его
        End If
    Next wb
End Sub

Второй макрос оставляет открытой только ту книгу, из которой запущен этот самый макрос, независимо от того, какая книга активна на момент запуска:

Sub CloseAllWorkbooks2()
    ' закрываем все книги, кроме той, из которой запущен макрос
    Dim wb As Workbook: Application.ScreenUpdating = False
    For Each wb In Workbooks    ' перебираем все открытые книги
        If Not wb Is ThisWorkbook Then If wb.Windows(1).Visible Then wb.Close
    Next wb
End Sub

Третья версия макроса отличается от первой лишь тем, что все файлы закрываются с сохранением изменений:
(первый макрос в этом случае выдаёт диалоговое окно — сохранять файл, или нет)

Sub CloseAllWorkbooks3()
    ' закрываем все книги, кроме текущей (активной), С СОХРАНЕНИЕМ изменений
    Dim wb As Workbook: Application.ScreenUpdating = False
    For Each wb In Workbooks    ' перебираем все открытые книги
        If wb.Windows(1).Visible = True And (Not wb Is ActiveWorkbook) Then
            ' закрываем с сохранением только изменённые файлы
            wb.Close (Not wb.Saved) ' ранее сохранённые файлы просто закрываются
        End If
    Next wb
End Sub

Ну и четвертый вариант — тоже закрывает все открытые файлы, только изменения в этих файлах не сохраняются:

Sub CloseAllWorkbooks4()
    ' закрываем все книги, кроме текущей (активной), БЕЗ СОХРАНЕНИЯ изменений
    Dim wb As Workbook: Application.ScreenUpdating = False
    For Each wb In Workbooks    ' перебираем все открытые книги
        If wb.Windows(1).Visible Then If Not wb Is ActiveWorkbook Then wb.Close False
    Next wb
End Sub

На чтение 8 мин. Просмотров 6.9k.

Итог: Изучите несколько трюков и советов, чтобы сохранить и закрыть все открытые книги Excel.

Уровень мастерства: Начинающий

3 Tips to Save and Close All Files2

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

Содержание

  1. Совет № 1: Shift + кнопка закрытия окна
  2. Совет № 2: добавьте кнопку «Закрыть все» на панель быстрого доступа
  3. Совет № 3: Закройте все открытые книги с помощью макроса
  4. У вас есть свои советы по сохранению и закрытию файлов?

Совет № 1: Shift + кнопка закрытия окна

Самый
быстрый способ закрыть все открытые книги — это удерживать клавишу Shift,
нажимая кнопку «Закрыть окно». Кнопка «Закрыть окно» — это «х» в правом верхнем
углу окна приложения

Close All Excel Workooks Shortcut Shift Key Close Button

Если все открытые книги были сохранены, все они будут
закрыты.

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

Excel Warning Want to Save Changes Before Closing File Window Save All

Окно также содержит кнопку Сохранить все. Вы можете нажать эту кнопку, чтобы сохранить все несохраненные книги за один шаг.

Нажатие на кнопку «Отмена» отменит всю операцию, а все еще открытые книги останутся открытыми.

Но что, если мы не хотим сохранить все или некоторые из открытых рабочих книг? Мы вернемся к этому в совет № 3.

Совет № 2: добавьте кнопку «Закрыть все» на панель быстрого доступа

Мы также можем добавить кнопку «Закрыть все» на панель
быстрого доступа (QAT), чтобы закрыть все открытые книги. Это делает то же
самое, что и сочетание клавиш Shift + Close Window.

Excel Close All Button Quick Access Toolbar

Преимущество здесь в том, что мы можем использовать сочетание клавиш для нажатия кнопки. Доступ к кнопкам QAT можно получить с помощью сочетания клавиш, нажав клавишу Alt и номер, назначенный кнопке.

QAT Keyboard Shortcut to Close All Excel Files

Чтобы добавить кнопку «Закрыть все» в QAT, откройте окно параметров Excel («Файл»> «Параметры») и следуйте инструкциям на изображении ниже.

Add Close All But to Quick Access Toolbar in Excel Options

После нажатия кнопки «Закрыть все» нам будет предложено то же окно, как описано в совете № 1.

Бонусный совет: мы также можем использовать сочетание клавиш Ctrl + W, чтобы закрыть одну книгу. Я упомянул этот совет в своем посте по 17 ярлыкам Excel на 2017 год.

Press Ctrl W to Close Last Excel Workbook and Leave Application Open

Совет № 3: Закройте все открытые книги с помощью макроса

В этом разделе я поделюсь несколькими макросами, которые можно использовать для закрытия всех открытых рабочих книг. Макросы дают нам большую гибкость, когда мы хотим контролировать, какие книги сохраняются перед закрытием.

Макрос для закрытия всех книг без сохранения

Если мы не хотим сохранять какие-либо открытые файлы, мы
можем использовать следующий макрос.

Sub Close_All_Files_No_Save()
' Закройте все открытые книги и не сохраняйте

Dim wb As Workbook

  ' Просмотрите каждую рабочую книгу
  For Each wb In Application.Workbooks
    
    ' Предотвратить рабочую книгу, которая содержит
    ' код от закрытия
    If wb.Name <> ThisWorkbook.Name Then
      
      ' Закройте книгу и не сохраняйте изменения
      wb.Close SaveChanges:=False
    
    End If
  Next wb

End Sub

Как работает этот макрос?

Приведенный выше макрос просматривает все открытые книги на компьютере с помощью цикла For Next Loop. Он использует оператор If, чтобы проверить, является ли файл в цикле (wb.Name) НЕ (<>) файлом, который содержит код ThisWorkbook.Name.

Затем он использует метод Workbooks.Close (страница справки MSDN), чтобы закрыть книгу. Метод Close имеет необязательный параметр для SaveChanges. Мы можем установить значение True, чтобы сохранить изменения, и False, чтобы закрыть без сохранения.

Примечание. Этот макрос следует запускать только в том случае, если вы уверены, что не хотите сохранять изменения ни в одном из открытых файлов. Его нельзя отменить. Возможно, вы также захотите добавить окно сообщения Да / Нет, чтобы предупредить пользователя перед запуском этого макроса.

Макрос для сохранения всех, кроме новых несохраненных книг (блокнот)

В конце рабочего дня у меня обычно есть несколько книг, которые я хочу сохранить, и некоторые, которые я НЕ хочу сохранять. Я часто открываю новые рабочие книги, чтобы использовать файлы Excel для быстрых вычислений. Я называю их «блокноты». Я не хочу сохранять их, но хочу сохранить все другие открытые файлы.

Macro to Save and Close All Files Except New Unsaved Files

Файлы — блокноты никогда не сохранялись, поэтому они еще не имеют расширения. Они называются: Book1, Book2, Book2 и т.д. Обратите внимание, что на снимке экрана отсутствует расширение файла (.xlsx, .xlsm).

Таким образом, мы можем добавить оператор If в наш макрос, чтобы увидеть, существует ли расширение файла. Если расширение файла существует, то мы сохраним файл. Если нет, то мы закроем без сохранения.

Sub Save_and_Close_All_Files_Except_ScratchPads()
' Закройте все открытые книги, кроме новых несохраненных файлов

Dim wb As Workbook

  ' Просмотрите каждую рабочую книгу
  For Each wb In Application.Workbooks
    
    ' Предотвратить рабочую книгу, которая содержит
    ' код от закрытия
    If wb.Name <> ThisWorkbook.Name Then
      
      ' Проверьте, имеет ли имя файла расширение
      If InStr(Right(wb.Name, 5), ".xls") > 0 Then
        wb.Close SaveChanges:=True
      Else
        ' Не сохраняйте изменения, если это блокнот.
        wb.Close SaveChanges:=False
      End If
    
    End If
  Next wb

End Sub

Как работает этот макрос?

Этот макрос похож на макрос для закрытия всех книг. Разница
в том, что мы используем оператор If, чтобы проверить, имеет ли файл
расширение.

Функция Right используется для возврата 5 символов в конце
имени файла. Если wb — это существующий файл, который уже был сохранен, то
Right (wb.Name, 5) вернет «.xlsx» или «.xlsm».

Функция Instr (страница справки MSDN) используется для поиска строки в строке. Возвращает начальный номер строки. Таким образом, если Instr находит «.xls» в пределах «.xlsx» или «.xlsm», он возвращает 1. В противном случае он возвращает 0.

Оператор If проверяет, является ли возвращаемое значение из
Instr больше 0, и сохраняет изменения при закрытии книги. В противном случае
изменения не сохраняются для книг, которые НЕ содержат расширения.

Макрос для сохранения и закрытия всех книг и автоматического именования файлов

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

Save and Close All Files and Auto Name New Files

Следующий макрос сохранит и закроет ВСЕ файлы и автоматически назовет новые файлы, которые не были сохранены. Он помещает все новые файлы (блокнот) в указанную вами папку.

Unsaved Files Save to a Folder and Automatically Named

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

Sub Save_and_Close_All_Files()
' Закройте все открытые книги, кроме новых несохраненных файлов

Dim wb As Workbook
Dim sPath As String

  ' Путь, где будут сохранены новые несохраненные файлы.
  ' Измените это на папку на вашем компьютере. Конец с обратной косой чертой 
  sPath = "C:UsersusernameDocumentsExcel CampusScratch Pads"

  ' Просмотрите каждую рабочую книгу
  For Each wb In Application.Workbooks
    
    ' Предотвратить рабочую книгу, которая содержит
    ' код от закрытия
    If wb.Name <> ThisWorkbook.Name Then
      
      ' Проверьте, имеет ли имя файла расширение
      If InStr(Right(wb.Name, 5), ".xls") > 0 Then
        wb.Close SaveChanges:=True
      Else
        ' Сохранить блокноты в папке
        wb.Close SaveChanges:=True, _
            Filename:=sPath & wb.Name & Format(Now, " yyyy-mm-dd-hhmm")
      End If
    
    End If
  Next wb

End Sub

Как работает этот макрос?

Этот макрос работает аналогично двум другим выше.
Единственное отличие состоит в том, что он сохраняет новые файлы (блокноты) в
папку на вашем компьютере.

Чтобы использовать этот макрос, вам нужно изменить
переменную sPath на папку на вашем компьютере. Обязательно заканчивайте строку
пути к файлу обратной косой чертой.

У метода Workbooks.Close есть еще один необязательный
параметр (Filename), который позволяет нам указать имя файла, в котором мы
хотим сохранить файл, если файл еще не был сохранен.

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

Значение параметра Filename объединяет строку для полного
пути к файлу. Он также изменяет текущую дату и время до конца имени файла,
используя функции «Формат» и «Сейчас». Функция Format в VBA аналогична функции
TEXT в Excel и позволяет нам указать числовой формат. Функция «Сейчас»
возвращает текущую дату и время на компьютере пользователя.

Я рекомендую добавить эти макросы в вашу личную книгу макросов, чтобы вы могли использовать их в любое время. Чтобы узнать больше, ознакомьтесь с моей статьей и видео о личной книге макросов.

У вас есть свои советы по сохранению и закрытию файлов?

Я надеюсь, что эти советы и макросы помогут вам закончить день немного быстрее. Есть ли у вас какие-либо другие советы по закрытию файлов? Пожалуйста, оставьте комментарий ниже с любыми предложениями или вопросами. Спасибо!

Как быстро закрыть все книги, кроме активной?

Если на вашем компьютере открыто несколько книг, и теперь вы хотите закрыть все, но оставить активную. Есть ли какие-нибудь быстрые способы справиться с этой работой, кроме как закрывать другие книги по одной? В этой статье я расскажу о некоторых простых способах решить эту проблему одним щелчком мыши.

Закройте все книги, кроме активной, с кодом VBA

Закройте все книги, кроме активной, с помощью вкладки Office


стрелка синий правый пузырь Закройте все книги, кроме активной, с кодом VBA

С помощью следующего кода VBA вы можете быстро закрыть все открытые книги, кроме активной, сделайте следующее:

1. Активируйте свою книгу, которую вы хотите оставить открытой.

2. Удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.

3. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

Код VBA: закройте все книги, кроме активной

Private Sub CloseOtherWorkbook()
'Update 20141126
Dim xWB As Workbook
Application.ScreenUpdating = False
For Each xWB In Application.Workbooks
    If Not (xWB Is Application.ActiveWorkbook) Then
        xWB.Close
    End If
Next
Application.ScreenUpdating = True
End Sub

4, Затем нажмите F5 нажмите клавишу для запуска этого кода, а затем все другие книги будут закрыты сразу, но останется только активная.


стрелка синий правый пузырь Закройте все книги, кроме активной, с помощью вкладки Office

Если вас интересует новинка — Office Tab, он может помочь вам открыть несколько документов / файлов в одном окне с вкладками, с его помощью вы можете закрыть все книги, но оставить активным одним щелчком мыши. Вы можете узнать больше и загрузить Office Tab от здесь.

После установки Office Tab, вы увидите, что все открытые книги отображаются в одном окне с вкладками, см. снимок экрана:

документ-закрыть-другие-книги-1

Затем щелкните имя книги, которую хотите оставить открытой, и щелкните правой кнопкой мыши вкладку имени, затем выберите Закрыть Другое из контекстного меню см. снимок экрана:

документ-закрыть-другие-книги-1

И тогда вы увидите, что открыта только ваша активная книга.


Связанная статья:

Как быстро закрыть все книги в Excel?


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (1)


Оценок пока нет. Оцените первым!

Содержание

  1. Метод Window.Close (Excel)
  2. Синтаксис
  3. Параметры
  4. Возвращаемое значение
  5. Замечания
  6. Поддержка и обратная связь
  7. Как сохранить и закрыть все открытые файлы книги Excel
  8. Совет № 1: Shift + кнопка закрытия окна
  9. Совет № 2: добавьте кнопку «Закрыть все» на панель быстрого доступа
  10. Совет № 3: Закройте все открытые книги с помощью макроса
  11. У вас есть свои советы по сохранению и закрытию файлов?
  12. Закрыть все окна vba excel
  13. Как быстро закрыть все книги, кроме активной?
  14. Закройте все книги, кроме активной, с кодом VBA
  15. Закройте все книги, кроме активной, с помощью вкладки Office
  16. Vba excel как закрыть excel
  17. закрытие екселя с сохранением и без предупреждения (Макросы/Sub)
  18. VBA Access: как закрыть книгу Эксель без сохранения?
  19. Надо закрыть через VBA Excel ,без сохранения и без выскакивания запросов на сохранеие
  20. Закрыть окно редактора VBA макросом (Макросы/Sub)
  21. Как в одном макросе закрыть все книги Excel?
  22. VBA сохранить&закрыть userform
  23. VBA Excel закрытие формы на листе

Метод Window.Close (Excel)

Синтаксис

expression. Close (SaveChanges, FileName, RouteWorkbook)

Выражение Переменная, представляющая объект Window .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Savechanges Необязательный Variant Если в книге нет изменений, этот аргумент игнорируется. Если в книге есть изменения, а книга отображается в других открытых окнах, этот аргумент игнорируется. Если в книге есть изменения, но книга не отображается в других открытых окнах, этот аргумент указывает, следует ли сохранять изменения. Если задано значение True, изменения сохраняются в книге.

Если имя файла еще не связано с книгой, используется имя файла . Если параметр FileName опущен, пользователю будет предложено указать имя файла. FileName Необязательный Variant Сохраните изменения под этим именем файла. RouteWorkbook Необязательный Variant Если книга не требуется маршрутизировать к следующему получателю (если она не имеет скольжения маршрутизации или уже была перенаправлена), этот аргумент игнорируется. В противном случае Microsoft Excel направляет книгу в соответствии со значением этого параметра.

Если задано значение True, книга отправляется следующему получателю. Если задано значение False, книга не отправляется. Если этот параметр опущен, пользователю будет предложено отправить книгу.

Возвращаемое значение

Значение true , если метод успешно закрыл объект; в противном случае — False.

Замечания

При закрытии книги из Visual Basic в ней не выполняются макросы Auto_Close. Используйте метод RunAutoMacros для запуска макросов Auto_Close.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Как сохранить и закрыть все открытые файлы книги Excel

Итог: Изучите несколько трюков и советов, чтобы сохранить и закрыть все открытые книги Excel.

Уровень мастерства: Начинающий

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

Совет № 1: Shift + кнопка закрытия окна

Самый быстрый способ закрыть все открытые книги — это удерживать клавишу Shift, нажимая кнопку «Закрыть окно». Кнопка «Закрыть окно» — это «х» в правом верхнем углу окна приложения

Если все открытые книги были сохранены, все они будут закрыты.

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

Окно также содержит кнопку Сохранить все. Вы можете нажать эту кнопку, чтобы сохранить все несохраненные книги за один шаг.

Нажатие на кнопку «Отмена» отменит всю операцию, а все еще открытые книги останутся открытыми.

Но что, если мы не хотим сохранить все или некоторые из открытых рабочих книг? Мы вернемся к этому в совет № 3.

Совет № 2: добавьте кнопку «Закрыть все» на панель быстрого доступа

Мы также можем добавить кнопку «Закрыть все» на панель быстрого доступа (QAT), чтобы закрыть все открытые книги. Это делает то же самое, что и сочетание клавиш Shift + Close Window.

Преимущество здесь в том, что мы можем использовать сочетание клавиш для нажатия кнопки. Доступ к кнопкам QAT можно получить с помощью сочетания клавиш, нажав клавишу Alt и номер, назначенный кнопке.

Чтобы добавить кнопку «Закрыть все» в QAT, откройте окно параметров Excel («Файл»> «Параметры») и следуйте инструкциям на изображении ниже.

После нажатия кнопки «Закрыть все» нам будет предложено то же окно, как описано в совете № 1.

Бонусный совет: мы также можем использовать сочетание клавиш Ctrl + W, чтобы закрыть одну книгу. Я упомянул этот совет в своем посте по 17 ярлыкам Excel на 2017 год.

Совет № 3: Закройте все открытые книги с помощью макроса

В этом разделе я поделюсь несколькими макросами, которые можно использовать для закрытия всех открытых рабочих книг. Макросы дают нам большую гибкость, когда мы хотим контролировать, какие книги сохраняются перед закрытием.

Макрос для закрытия всех книг без сохранения

Если мы не хотим сохранять какие-либо открытые файлы, мы можем использовать следующий макрос.

Как работает этот макрос?

Приведенный выше макрос просматривает все открытые книги на компьютере с помощью цикла For Next Loop. Он использует оператор If, чтобы проверить, является ли файл в цикле (wb.Name) НЕ (<>) файлом, который содержит код ThisWorkbook.Name.

Затем он использует метод Workbooks.Close (страница справки MSDN), чтобы закрыть книгу. Метод Close имеет необязательный параметр для SaveChanges. Мы можем установить значение True, чтобы сохранить изменения, и False, чтобы закрыть без сохранения.

Примечание. Этот макрос следует запускать только в том случае, если вы уверены, что не хотите сохранять изменения ни в одном из открытых файлов. Его нельзя отменить. Возможно, вы также захотите добавить окно сообщения Да / Нет, чтобы предупредить пользователя перед запуском этого макроса.

Макрос для сохранения всех, кроме новых несохраненных книг (блокнот)

В конце рабочего дня у меня обычно есть несколько книг, которые я хочу сохранить, и некоторые, которые я НЕ хочу сохранять. Я часто открываю новые рабочие книги, чтобы использовать файлы Excel для быстрых вычислений. Я называю их «блокноты». Я не хочу сохранять их, но хочу сохранить все другие открытые файлы.

Файлы — блокноты никогда не сохранялись, поэтому они еще не имеют расширения. Они называются: Book1, Book2, Book2 и т.д. Обратите внимание, что на снимке экрана отсутствует расширение файла (.xlsx, .xlsm).

Таким образом, мы можем добавить оператор If в наш макрос, чтобы увидеть, существует ли расширение файла. Если расширение файла существует, то мы сохраним файл. Если нет, то мы закроем без сохранения.

Как работает этот макрос?

Этот макрос похож на макрос для закрытия всех книг. Разница в том, что мы используем оператор If, чтобы проверить, имеет ли файл расширение.

Функция Right используется для возврата 5 символов в конце имени файла. Если wb — это существующий файл, который уже был сохранен, то Right (wb.Name, 5) вернет «.xlsx» или «.xlsm».

Функция Instr (страница справки MSDN) используется для поиска строки в строке. Возвращает начальный номер строки. Таким образом, если Instr находит «.xls» в пределах «.xlsx» или «.xlsm», он возвращает 1. В противном случае он возвращает 0.

Оператор If проверяет, является ли возвращаемое значение из Instr больше 0, и сохраняет изменения при закрытии книги. В противном случае изменения не сохраняются для книг, которые НЕ содержат расширения.

Макрос для сохранения и закрытия всех книг и автоматического именования файлов

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

Следующий макрос сохранит и закроет ВСЕ файлы и автоматически назовет новые файлы, которые не были сохранены. Он помещает все новые файлы (блокнот) в указанную вами папку.

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

Как работает этот макрос?

Этот макрос работает аналогично двум другим выше. Единственное отличие состоит в том, что он сохраняет новые файлы (блокноты) в папку на вашем компьютере.

Чтобы использовать этот макрос, вам нужно изменить переменную sPath на папку на вашем компьютере. Обязательно заканчивайте строку пути к файлу обратной косой чертой.

У метода Workbooks.Close есть еще один необязательный параметр (Filename), который позволяет нам указать имя файла, в котором мы хотим сохранить файл, если файл еще не был сохранен.

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

Значение параметра Filename объединяет строку для полного пути к файлу. Он также изменяет текущую дату и время до конца имени файла, используя функции «Формат» и «Сейчас». Функция Format в VBA аналогична функции TEXT в Excel и позволяет нам указать числовой формат. Функция «Сейчас» возвращает текущую дату и время на компьютере пользователя.

Я рекомендую добавить эти макросы в вашу личную книгу макросов, чтобы вы могли использовать их в любое время. Чтобы узнать больше, ознакомьтесь с моей статьей и видео о личной книге макросов.

У вас есть свои советы по сохранению и закрытию файлов?

Я надеюсь, что эти советы и макросы помогут вам закончить день немного быстрее. Есть ли у вас какие-либо другие советы по закрытию файлов? Пожалуйста, оставьте комментарий ниже с любыми предложениями или вопросами. Спасибо!

Источник

Закрыть все окна vba excel

Как быстро закрыть все книги, кроме активной?

Если на вашем компьютере открыто несколько книг, и теперь вы хотите закрыть все, но оставить активную. Есть ли какие-нибудь быстрые способы справиться с этой работой, кроме как закрывать другие книги по одной? В этой статье я расскажу о некоторых простых способах решить эту проблему одним щелчком мыши.

Закройте все книги, кроме активной, с кодом VBA

Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!

С помощью следующего кода VBA вы можете быстро закрыть все открытые книги, кроме активной, сделайте следующее:

1. Активируйте свою книгу, которую вы хотите оставить открытой.

2. Удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.

3. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

Код VBA: закройте все книги, кроме активной

4, Затем нажмите F5 нажмите клавишу для запуска этого кода, а затем все другие книги будут закрыты сразу, но останется только активная.

Закройте все книги, кроме активной, с помощью вкладки Office

Если вас интересует новинка — Office Tab, он может помочь вам открыть несколько документов / файлов в одном окне с вкладками, с его помощью вы можете закрыть все книги, но оставить активным одним щелчком мыши. Вы можете узнать больше и загрузить Office Tab от здесь.

После установки Office Tab, вы увидите, что все открытые книги отображаются в одном окне с вкладками, см. снимок экрана:

Затем щелкните имя книги, которую хотите оставить открытой, и щелкните правой кнопкой мыши вкладку имени, затем выберите Закрыть Другое из контекстного меню см. снимок экрана:

И тогда вы увидите, что открыта только ваша активная книга.

Источник

Vba excel как закрыть excel

закрытие екселя с сохранением и без предупреждения (Макросы/Sub)

​Смотрите также​​ клавиатуре)​ для нажатия кнопки:​ просто скрывает формулу​ перехватывать события на​ сценарии. Она такая.​ с Книги3 в​
​Mishel915​ одном Макросе1) книги.​ ‘и закрываю окно​
​: Кнопочка с решёткой,​
​ As Excel.Application) app.ActiveWorkbook.Close​
​ как. По-видимому, работающий​
​:​
​ другое сообщение, хотя​
​ файл Эксель, да​

​ True)​​85Muslim85​
​Не хочу размещать​
​Private Sub CommandButton1_Click()​
​ от пользователя​ уровне Application.​ В коллекции Workbooks​
​ Книгу1, потом перейти​
​:​Если команда о​ редактора VBA​
​ однако​
​ 0 app.Quit End​
​ макрос не дает​
​Mary_Rustle​ ничего принципиального я​ так чтобы и​Workbooks.Close True​: добрый день, скажите​
​ кнопки на форме​
​ Unload Me Set​метод Unload (имя​Mishel915​ фиксируется определённый порядок​ в Книгу2, потом​
​EducatedFool !​
​ закрытии книг поступает​Возможно и Вам​Glen​ SubА в самой​ выполнить команду Quit.​, а какой смысл​
​ не поменяла:​ в скрытых процессах​’ закрыть без​ как закрыть ексель​
​ — так сделай​

​ UserForm1 = Nothing​​ формы) — выгружает​: Работает так :​ чередования открытых книг,​
​ перейти в Книгу1,​
​Спасибо за этюд.​
​ из Книги1, то​

VBA Access: как закрыть книгу Эксель без сохранения?

​ это поможет.​​: не получается код​
​ книге прописать​ Можно попробовать накидать​ открывать файл Excel​
​Помогите, пожалуйста, это​ его тоже не​ сохранения (без запроса​ (полностью выйти) с​ ее масенькой (все​ End Sub​ форму из памяти​Sub Макрос1() Dim​
​ который не меняется.​
​ после чего подать​Да, необходимо было​ закрывается только Книга1.​Glen​ прикрепить​Sub QE() Dim​ нажатий клавиш, типа​ и запускать макрос,​ очень большая проблема,​ было.​ подтверждения пользователя, даже​ сохранением под таким​ размеры и положение=1​flower2005​ и закрывает её​ wb As Workbook​ Код размещён в​ команду о закрытии​ подойти к ThisWorkbook​ Книга2 остаётся открытой.​:​Glen​ obj As Object​Код Sub closeE()​ если файл потом​ уже долго бьюсь​

​Я делаю следующее:​ если .DisplayAlerts =​ же названием и​ — прекрасно работает.Пусть​: А может быть,​CердЖиГ​

​ For Each wb​ Книге3, а запускается​ двух книг, то​ с другой стороны​Очевидно это происходит​

​ОлеггелО​​:​
​ Set obj =​ Set sh =​
​ закрывается без сохранения​ над ней, никаких​
​Private Sub Кнопка0_Click()​ True)​ без предупреждения​ в проекте существует​ стоит обработать событие​: Всем спасибо уже​ In Workbooks If​ с Книги1. Как​ закрывается только Книга1?​ !​ из-за того, что​,​Sub rr()​ CreateObject(‘Имя класса’) obj.ExcelQuit​ CreateObject(‘WScript.Shell’) sh.SendKeys (‘Надо закрыть через VBA Excel ,без сохранения и без выскакивания запросов на сохранеие

​Private Sub CommandButton1_Click()​​ And wb.Name <>​ подошла очередь закрыть​ закрытой?​Sub test() Dim​
​ с управляющим макросом)​Mishel915​

​ ActiveWorkbook.VBProject​​ установлен ODE, то​ Здесь надо подрегулировать​)? Этот макрос, что​: Ответ найден!​
​ Dim app As​ (закроется только если​ так((((​ KeyAscii As MSForms.ReturnInteger)​ ESC, выполнить закрытие​Unload userform1​ ThisWorkbook.Name Then wb.Close​ Книгу1, код её​4. Если перейти​ wb As Workbook​
​ закрывается первой, после​: Всем доброе время​Set VBComp =​ создание такой dll​ цифру в Sub вава()​ If KeyAscii =​

​ формы, а на​​ActiveWorkbook.Save​ Next Application.ActiveWorkbook.Close End​ закрывает, после чего​ с Книги3 в​
​ For Each wb​ чего выполнение Макроса1​
​ суток !​ VBProj.VBComponents(«Лист3»)​ займет несколько минут​
​ 9>. Да и​ другой файл, который​ старалась​
​ = CreateObject(«Excel.Application») With​ Application больше нет​Range(«A1») = 1​ 27 Then MsgBox​ другие клавиши не​
​End Sub​ Sub​ выполнение кода прекращается​ Книгу1, потом перейти​ In Workbooks If​
​ прекращается.​Две книги Excel​Set CodeMod =​Glen​ работает это только​ потом используется?​Изменила код следующим​ app .Workbooks.Open FullFilePath​

Закрыть окно редактора VBA макросом (Макросы/Sub)

​ открытых и не​​Workbooks.Application.DisplayAlerts = False​
​ ‘Была нажата ESC,​ реагировать.​Pavel55​СердЖиГ​
​ так как код​ в Книгу2, потом​ wb.Name <> ThisWorkbook.Name​Такой вопрос :​
​ (Книга1 и Книга2)​ VBComp.CodeModule​

​: Доброго дня.​​ с листа Excel,​
​Mary_Rustle​ образом:​
​ End With app.Run​

​ сохраненных книг,​​Excel.ActiveWorkbook.SaveAs («rl.xlsm»)​
​ прячем форму’ UserForm1.Hide​flower2005​: )) ну, всё​

​: Уважаемые форумчане!​​ запущен с Книги1.​ перейти в Книгу1,​

​ Then wb.Close Next​​ какой должен быть​ закрываются в одном​

​With CodeMod​​В работе макрос​ ​ а из среды​
​:​Private Sub Кнопка0_Click()​
​ «diap» app.Quit Set​’ иначе будет​
​Workbooks.Close​ Else ‘ничего не​
​: Кто тебя учил​
​ правильно) только вы​Напомните, плиззз, команды​
​ Все книги, которые​ потом перейти в​
​ End SubКнига3 должна​ код для закрытия​
​ макросе, например так​
​lLineNum = .CreateEventProc(«Change»,​
​ переносит модуль процедуры​

​ разработки не работает.​​Казанский​​ FullFilePath = «C:папка7​​ app = Nothing​ запрашивать подтверждения сохранения,​End Sub​ делаем End If​ ​ выгружать (unload) форму​ спрашивали о сохранении​ в VBA для​
​ стоят в очереди​ Книгу2, после чего​ оставаться для выбора​ ​ всех книг, записанных​ :​

​ «Worksheet»)​​ события на новый​​oldpasp​​, спасибо) Действительно глупость.​
​ свод реестров 2015_9.xlsm»​

Как в одном макросе закрыть все книги Excel?

​ DoCmd.SetWarnings False DoCmd.RunSQL​​ при .DisplayAlerts =​KSV​
​ End SubКстати, а​ в кнопке? Не​ формы, а сами​ сохранения и закрытия​ на закрытие после​
​ подать команду о​
​ нового действия.​ в Макросе1, не​Код:​lLineNum = lLineNum​ лист.​: Так как макрос​ Исправила на (oBook.Save).​ Dim app As​ «DELETE Свод_реестров.* FROM​ True)​
​: все правильно​ какие элементы есть​ руби сук, на​ сохраняете активную книгу​
​ userform.​
​ Книги1, теперь не​ закрытии двух книг,​Не всё пока​
​ зависимо от порядка​Sub Макрос1() On​ + 1​При этом почему​ расположен в какой-либо​
​Штурмaн​ Object Dim oBook​ Свод_реестров» DoCmd.TransferSpreadsheet acImport,​Application.Quit​200?’200px’:»+(this.scrollHeight+5)+’px’);»>’ подавляет предупреждения Excel​ на форме?​ котором сидишь! Напиши​
​ ) или нам​Спасибо!​ закроются из-за того,​ то закрываются обе​ получается.​ расположения книг в​ Error Resume Next​.InsertLines lLineNum, «call​ то само открывается​ книге, то выполнив​: Помогите чайнику.Надо закрыть​ As Object Set​ , «Свод_реестров», FullFilePath,​85Muslim85​

​Workbooks.Application.DisplayAlerts = False​​Код может и​ в коде кнопки​ надо было догадаться​Pavel55​ что код уже​ книги!​1. Если перейти​

​ Макросе1. Очевидно в​​ Workbooks(«Книга1»).Close (SaveChanges) Workbooks(«Книга2»).Close​​ Izm(Target)»​​ окно редактора VBA.​
​ команду​ через VBA Excel​ app = CreateObject(«Excel.Application»)​ True, «Свод_реестров» CurrentDb.Execute​
​: все отлично)) спасибки. ​
​’ сохраняет книгу​ не сработать, если,​ me.hide — это​ ?)​: А что значит​ не выполняется.​Таким образом в​ с Книги3 в​ Макросе1 необходимо определить​
​ (SaveChanges) On Error​End With​
​ По типу Alt+F11.​Application.Quit получаем запрос​ ,без сохранения и​ Set oBook =​ «DROP TABLE [Свод_реестров_ОшибкиИмпорта]»​ вот чего я​
​ в файл С​ например, фокус на​ переведет тебя в​СердЖиГ​ сохранить? У формы​Код будет срабатывать​ 3-ем сценарии код​ Книгу1, после чего​
​ управляющую книгу, т.​ GoTo 0 End​VBProj.VBE.MainWindow.Visible = False​Подскажите как кодом​ на сохранение​ без​ app.workbooks.Open(FullFilePath) app.Run «diap»​ DoCmd.SetWarnings True MsgBox​ хотел)​ ДРУГИМ именем​ TextBox(e).Только ListBox​
​ команду в вызывающей​: Павел, сорри, уже​ нет такой функции​ всегда, если его​ почемуто не видит​ подать команду о​ е. книгу с​ SubМакрос1 находится в​End Sub​ его закрыть.​А если предварительно​
​выскакивания запросов на​ oBook.Close False app.Quit​ «Импорт успешно завешен»​Workbooks.Application.DisplayAlerts = False​

​Excel.ActiveWorkbook.SaveAs («rl.xlsm»)​​К этой процедуре​ процедуре после show​
​ вечер был :-)​А закрыть можно​ запускать с книги​ Книги2.​ закрытии Книги1, то​ которой поступила команда,​ Книге3. Проэкт состоит​ОлеггелО​Glen​ закрыть книгу без​ сохранеие​ Set app =​ End SubРаньше все​Excel.ActiveWorkbook.Save​’ сохраняет книгу​ надо обратиться с​ — сделай там,​Димит​ так​ в которой он​Mishel915​ закрывается!​ и закрыть её​ из трёх книг​:​: Вроде так помогает​ сохранения​palva​ Nothing DoCmd.SetWarnings False​
​ работало хорошо за​Application.Quit​ в файл С​ фактическим параметром KeyAscii​ что требуется, а​
​: Не получается закрыть​Sub Макрос1()​ размещён.​: Установил причину не​2. Если перейти​ последней.​ — Книга1, Книга2,​Glen​Set VBProj =​Application.ActiveWorkbook.Close 0 то​

​: Закрыть одну из​​ DoCmd.RunSQL «DELETE Свод_реестров.*​
​ исключением следующего: когда​Mary_Rustle​ ТЕМ ЖЕ именем​ — как это​ затем выгружай форму!​ форму при нажатии​’или так​Если код запускать​ срабатывания кода​

VBA сохранить&закрыть userform

​ с Книги3 в​​EducatedFool​

​ Книга3.​, здравствуйте. Я так​ ActiveWorkbook.VBProject​ работа макроса прекращается​

​ книг, если макрос​

​ FROM Свод_реестров» DoCmd.TransferSpreadsheet​​ уже после успешного​: Добрый день!​Excel.ActiveWorkbook.Save​

​ ESC!!​
​Unload UserForm1 ‘закрыть​
​ с других книг,​Sub test() Dim​ Книгу1, потом перейти​
​: Sub test() Dim​
​Если команда о​
​ делал (топорно конечно),​

​VBProj.VBE.MainWindow.Visible = False​ (книга то закрывается)​ находится в другой,​
​ acImport, , «Свод_реестров»,​ выполнения модуля я​Мои попытки найти​’ закрывает книгу​

​ Walkerу​​: Не хочу размещать​Помогите!!​
​ и выгрузить из​
​ то на его​
​ wb As Workbook​
​ в Книгу2, после​

​ wb As Workbook​​ закрытии книг поступает​ добавьте перед «End​Glen​Значит надо объединить​ можно так:​ FullFilePath, True, «Свод_реестров»​ пыталась открыть файл​ нужное не увенчались​

​Workbooks.Close​​Почему нельзя Unload​ кнопки на форме​

VBA Excel закрытие формы на листе

​flower2005​​ памяти форму​ работу будет влиять​ For Each wb​
​ чего подать команду​

​ For Each wb​​ из Книги2, например​ sub»​: Код не покажу.​ эти команды: можно​Код Application.DisplayAlerts =​
​ CurrentDb.Execute «DROP TABLE​ эксель, мне выдавалось​ успехом, помогите пожалуйста!​’ закрыть с​

​ в кнопке?​​ — как и​: Разместите на форме​’или так​
​ порядок размещения открытых​ In Workbooks If​ о закрытии двух​ In Workbooks If​ так :​

Источник

Понравилась статья? Поделить с друзьями:
  • Vba excel закрыть все книги без сохранения
  • Vba excel закрыть все userform
  • Vba excel закрепленные области
  • Vba excel закрепить ячейки в excel
  • Vba excel закрепить верхнюю строку