Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim EmpyNum As Integer EmpyNum = 0 For i = 2 To 13 '行数 For j = 1 To 3 '列数 If (Trim(Worksheets(1).Cells(i, j)) = "") Then '判断有几个单元格没填 EmpyNum = EmpyNum + 1 End If Next Next If EmpyNum >= 0 Then '没填的单元格数大于1,就不能保存 MsgBox "该填的单元格都没填写,不能保存文件" Cancel = True End If End Sub