我想使用VB让Excel中的A和C和E列仅这三列从第二行开始到无限行只允许输入日期和无
您可以使用以下代码来实现您的需求:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
' 设置要检查的列范围
Set rng = Intersect(Target, Range("A:E"))
' 如果更改的单元格在要检查的列范围内
If Not rng Is Nothing Then
Application.EnableEvents = False
' 循环遍历更改的单元格
For Each cell In rng
' 检查单元格是否在第二行及以后
If cell.Row >= 2 Then
' 检查单元格的值是否为日期或 "无"
If Not IsDate(cell.Value) And cell.Value <> "无" Then
' 清空单元格的值
cell.Value = ""
End If
End If
Next cell
Application.EnableEvents = True
End If
End Sub
将上述代码复制到您的Excel文件中的VBA编辑器窗口中的Sheet模块中(例如Sheet1),然后保存文件。每当在A、C或E列中的任何单元格中进行更改时,它将检查单元格的值是否为日期或 "无",如果不是,则清空单元格的值
原文地址: https://www.cveoy.top/t/topic/hO45 著作权归作者所有。请勿转载和采集!