Excel VBA закрыть текущую книгу Ошибка 1004 - PullRequest
1 голос
/ 10 февраля 2012

У меня есть некоторый код VBA в книге Excel.У меня есть ячейка, которую я хотел бы использовать, чтобы закрыть книгу без сохранения (вместо использования обычной (X) кнопки закрытия в верхнем правом углу Excel.

Если я закрою книгу с помощью (X)), он прекрасно работает в следующем коде. Однако, если я нажму на ячейку кнопки «ЗАКРЫТЬ», которая находится на рабочем листе, она выдаст ошибку 1004.

Может кто-нибудь помочь?

НА РАБОЧЕМ ЛИСТЕГДЕ КНОПКА

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Cells(ActiveCell.Row, ActiveCell.Column) = "CLOSE" Then

    CloseNoSave
End If

End Sub

В ЭТОЙ РАБОТЕ

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    CloseNoSave

End Sub

В МОДУЛЕ

Sub CloseNoSave()

    ThisWorkbook.Close savechanges:=False
End Sub

1 Ответ

1 голос
/ 11 февраля 2012

Почему бы вам просто не использовать один фрагмент кода на вашем Selection событии

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If ActiveCell.Value = "CLOSE" Then
        ThisWorkbook.Saved = True
        ThisWorkbook.Close
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...