Запрет сохранения рабочей книги, когда ячейка НЕ ​​пуста - PullRequest
0 голосов
/ 11 января 2019

Мне нужно предотвратить сохранение Excel при заполнении определенных ячеек, т.е. есть данные в них.

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

Ответы [ 2 ]

0 голосов
/ 11 января 2019
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    'If cell Sheet 1 A1 is empty save
    If IsEmpty(Sheet1.Range("A1").Value) Then
        ThisWorkbook.Save
    Else
        Cancel = True
    End If

End Sub
0 голосов
/ 11 января 2019

Вот простой демонстрационный пример, который использует ячейку B9 на листе Sheet1. В области кода рабочей книги установите:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim CellToCheck As Range
    Dim wf As WorksheetFunction

    Set CellToCheck = Sheets("Sheet1").Range("B9")
    Set wf = Application.WorksheetFunction

    If wf.CountBlank(CellToCheck) = 1 Then
        Cancel = False
        Exit Sub
    Else
        MsgBox "Please clear Sheet1 cell B9"
        Cancel = True
    End If
End Sub

Измените это, чтобы ссылаться на ваши конкретные ячейки и листы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...