В этой статье мы узнаем, как превзойти закрыть книгу с помощью VBA в Microsoft Excel 2010.

После того, как ваш макрос / код VBA выполнил все необходимые действия, вам нужно, чтобы макрос либо сохранил файл, либо пропустил его. Итак, вот параметры, которые вы можете установить в коде, прося его закрыть файл. Метод Close и Open в VBA можно использовать для закрытия и открытия книг.

Если вы хотите, чтобы код просто закрыл файл без сохранения изменений, используйте эту строку в конце кода или там, где это необходимо — ActiveWorkbook.Close (False) _ или _ActiveWorkbook.Close False или ActiveWorkbook.CloseSaveChanges: = FALSE См. код на этом рисунке ниже. Чтобы скопировать код, нажмите Alt + F11 на клавиатуре, убедившись, что лист Excel открыт. Затем щелкните правой кнопкой мыши объекты Microsoft Excel и выберите «Вставить». Затем щелкните Модуль. Скопируйте код, приведенный под картинкой —

img1

Option Explicit Sub macro1 () _ _ActiveWorkbook.Close False End Sub Примечание. Вы можете изменить текст ActiveWorkbook, чтобы он ссылался на имя книги или переменную, которую вы использовали для идентификации книги в соответствии с вашим кодом.

Если вы хотите, чтобы код сохранял изменения при закрытии файла, используйте ActiveWorkbook.Close (True) _ или _ActiveWorkbook.Close True или ActiveWorkbook.Close SaveChanges: = TRUE

img2

Вот код — Option Explicit Sub macro1 () _ _ActiveWorkbook.Close True End Sub Однако, если вы хотите, чтобы решение принимал пользователь, вам просто нужно ввести ActiveWorkbook.Close

img3

Вот код — Option Explicit Sub macro1 () _ _ActiveWorkbook.Close End Sub Пользователь получит всплывающее окно с вопросом, хотят ли они сохранить книгу или нет.

img4

Workbooks («File1.XLS»). Close SaveChanges: = False В этом примере будет закрыт файл File1.xls и отменены все внесенные в него изменения.

Вывод:

Если для параметра «Application.DisplayAlerts» установлено значение «Ложь», вы не получите всплывающее окно, и книга закроется без запроса на сохранение.

Это всплывающее окно появится, если для параметра «Application.DisplayAlerts» не задано значение False в любом месте перед строкой кода excel vba Activeworkbook.Close.

Поэтому, даже если код требует отключения предупреждений, убедитесь, что «Application.DisplayAlerts = True» присутствует перед строкой Activeworkbook.Close.

Если вам понравились наши блоги, поделитесь ими с друзьями на Facebook. А также вы можете подписаться на нас в Twitter и Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам по адресу[email protected]_