excel 如何用vba 实现 某列 限制输入范围

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个回答  2012-11-28
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本回答被提问者和网友采纳
第3个回答  2012-11-28
无语了。
第4个回答  2012-11-28
fffff