excel 如何用vba 实现 某列 限制输入范围
excel中有一列,只能输入“文本”、“数字”、“日期”这三个字符串。如何限制。有效性不能解决,因为粘贴情况下是无效的。求解。...
excel 中有一列,只能输入“文本”、“数字”、“日期” 这三个 字符串。如何限制。有效性不能解决,因为粘贴情况下 是无效的。求解。
展开
展开全部
excel 如何用vba 实现 某列 限制输入范围的解决方法如下:
1、打开要处理的excel文档,
2、按alt+f11,打开vba编辑窗口,
3、双击左侧树中的thissheet,
4、在右侧的空白窗口中输入如下的内容:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As String
Dim i As Long, j As Long
Dim LL As String
LL = "D" '需要控制的列
Dim cc As Range
For Each cc In Target
If InStr(1, cc.Address, LL) > 0 Then
s = cc.Value2
'MsgBox s
If s = "文本" Or s = "数字" Or s = "日期" Then
Else
cc.ClearContents
End If
End If
Next
End Sub
1、打开要处理的excel文档,
2、按alt+f11,打开vba编辑窗口,
3、双击左侧树中的thissheet,
4、在右侧的空白窗口中输入如下的内容:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As String
Dim i As Long, j As Long
Dim LL As String
LL = "D" '需要控制的列
Dim cc As Range
For Each cc In Target
If InStr(1, cc.Address, LL) > 0 Then
s = cc.Value2
'MsgBox s
If s = "文本" Or s = "数字" Or s = "日期" Then
Else
cc.ClearContents
End If
End If
Next
End Sub
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As String
Dim i As Long, j As Long
Dim LL As String
LL = "D" '需要控制的列
Dim cc As Range
For Each cc In Target
If InStr(1, cc.Address, LL) > 0 Then
s = cc.Value2
'MsgBox s
If s = "文本" Or s = "数字" Or s = "日期" Then
Else
cc.ClearContents
End If
End If
Next
End Sub
Dim s As String
Dim i As Long, j As Long
Dim LL As String
LL = "D" '需要控制的列
Dim cc As Range
For Each cc In Target
If InStr(1, cc.Address, LL) > 0 Then
s = cc.Value2
'MsgBox s
If s = "文本" Or s = "数字" Or s = "日期" Then
Else
cc.ClearContents
End If
End If
Next
End Sub
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
无语了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fffff
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |