在Excel中,如何实现,不填写Excel单元格就不能保存文件?
要实现这种功能,普通的方法是无法解决的,得使用VBA代码来实现!
详细的操作方法或具体步骤
如下图,是一张数据表!

在上述的表中,如果不填写ABC列的某些单元格,那么,将不能保存Excel文件。同时,会看到如下图的提示对话框!

下面,偶来给大家介绍介绍,如何编写VBA代码!
首先,在excel工作窗口中,按下 ALT+F11 组合键,打开VBA代码编写窗口,如下图!

在上图中,在左边的操作区域,找到ThisWorkbook,点击右键,找到并选择“查看代码”,之后,会打开代码编写的小窗口,如下图!

在上图中,首先在顶部的左边,选择 Workbook,在其右方选择 BeforeSave 事件;注意,这里非常关键,请选择好选项;
然后,编写如上图的代码;最后,在VBA窗口中,对代码进行保存,整个过程完工!
为方便大家的学习,下面,将代码贴至下文:
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
部分代码说明:
Worksheets(1)指的是第一个工作表的序号,与表的名称无关,可放心使用,同时可根据需要自己修改。
Cells(i, j)指的是该表的第几行第几列,这里就是必须填写的单元格了,可根据需要修改范围;限制范围的修改,可通过如下的循环步长来实现:
For i=2 To 13 '行数
For j=1 To 3 '列数
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
