一、excel文件中如何将一列设置为必填列
提供一个实例文件,已测试通过!
完整代码如下:
Public 保存状态 As Integer
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If 保存状态 = 1 Then
Cancel = False
Else
'注意必须保存第一列有数据,才能检测到必填写字段是否填写,如果不检测第一列可修改循环终值
Lastrow = Sheets("入职资料").Range("A65536").End(xlUp).Row
' MsgBox Lastrow
For I = 2 To Lastrow
If Sheets("入职资料").Cells(I, 4) = "" Then
保存状态 = 0
Sheets("入职资料").Cells(I, 4).Select
Cancel = True
MsgBox "工作簿保存失效,有必填写字段未填写,请填写完整后才能保存!"
Exit For
End If
Next
End If
保存状态 = 0
End Sub
1、新建一个模块,在模块中写入代码:
Public 保存状态 As Integer
2、在工作表事件中写入如下代码:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If 保存状态 = 1 Then
Cancel = False
Else
'注意必须保存第一列有数据,才能检测到必填写字段是否填写,如果不检测第一列可修改循环终值
Lastrow = Sheets("入职资料").Range("A65536").End(xlUp).Row
' MsgBox Lastrow
For I = 2 To Lastrow
If Sheets("入职资料").Cells(I, 4) = "" Then
保存状态 = 0
Sheets("入职资料").Cells(I, 4).Select
Cancel = True
MsgBox "工作簿保存失效,有必填写字段未填写,请填写完整后才能保存!"
Exit For
End If
Next
End If
保存状态 = 0
End Sub
二、如何在excel中设置必填项
将Sheet1表中的B2、C2分别定义一个工作簿级别的名称。分别选中B2、C2,右键-命名单元格区域,名称-自定义,范围-工作簿。(分别将B2、C2命名为xavier1、xavier2).
同前述工作表必填项设置,选中红色区域,依次点击:数据-数据有效性-设置-自定义-公式;输入公式:【=AND(xavier1<>"",xavier2<>"")】;并将忽略空值的勾去掉。
依次点击:出错警告-样式停止-错误信息;在错误信息一栏输入:请先输入Sheet1表中B2和C2.
设置结果:如图,Sheet1表中B2和C2未全部输入内容时,在Sheet2表中红色区域任何单元格输入内容,弹出提示窗口.
补充:Excel工作簿必填项与工作表必填项的区别主要在于对单元格进行工作簿级别的命名以及引用;多个单元格必填项时,公式中的AND表示多个单元格必须都输入内容、OR表示多个单元格其中一个输入内容即可,xavier1、xavier2部分即为单元格的名称。
三、如何设置excel表格中全部为必填项
1.
将Sheet1表中的B2、C2分别定义一个工作簿级别的名称。分别选中B2、C2,右键-命名单元格区域,名称-自定义,范围-工作簿。(分别将B2、C2命名为xavier1、xavier2)
2.
同前述工作表必填项设置,选中红色区域,依次点击:数据-数据有效性-设置-自定义-公式;输入公式:【=AND(xavier1<>"",xavier2<>"")】;并将忽略空值的勾去掉。
3.
依次点击:出错警告-样式停止-错误信息;在错误信息一栏输入:请先输入Sheet1表中B2和C2!
4.
设置结果:Sheet1表中B2和C2未全部输入内容时,在Sheet2表中红色区域任何单元格输入内容,弹出提示窗口!