我想使用VB让Excel中的A和E列仅这两列从第二行开始到无限行只允许输入日期和无
你可以使用以下代码来实现你的需求:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
' 设置需要限制输入的范围为A列和E列,从第二行开始到无限行
Set rng = Union(Range("A2:A" & Rows.Count), Range("E2:E" & Rows.Count))
' 检查被修改的单元格是否在限制范围内
If Not Intersect(Target, rng) Is Nothing Then
For Each cell In Intersect(Target, rng)
' 检查输入是否为日期或者为"无"
If Not IsDate(cell.Value) And cell.Value <> "无" Then
' 如果输入不符合要求,则清空该单元格的内容
cell.ClearContents
End If
Next cell
End If
End Sub
将上述代码复制到Excel文件所在的VB编辑器中的该工作表对象模块(如Sheet1)的代码窗口中。然后,当你在A列和E列中输入不是日期或者不是"无"的内容时,该单元格的内容将被清空。
注意:为了使代码能够正常工作,请确保在Excel中启用了宏
原文地址: https://www.cveoy.top/t/topic/hO5y 著作权归作者所有。请勿转载和采集!