我需要做一个数据验证对用户不misstype的信息的数据库。 信息的单元必须装有两个条件,第一部分是工作人员的状态,而第二信息的权利之后,在同一单元是de合同的代码,他是工作上。 我怎么可以做一个数据验证与这两个信息安置在两个不同的表吗? 我试着喜欢的东西=及(LEFT(K3:Q999;4)=S3:S13;(K3:Q999;2)=S15:S49)
-1
这一切都取决于你想要如何适用验证。
如果你想让它能在细胞中的一滴下来,然后标准的验证,只会的工作,如果你有的组合可能在它自己的范围内,例如...
19Exec
19Folg
19Disp
...
33Exec
33Folg
33Disp
...
etc.
如果你想,你可以始终这样做使用VBA。 一个字的谨慎不过,这将无效撤销叠和可能需要加以完善,以确保它能满足所有方案。 它是一个选项。
你需要改变这个代码。 这是光秃秃的骨头和工作在一个基本意义。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngIntersect As Range, objCell As Range, strPrefix As String, strSuffix As String
Dim lngIndexSuffix As Long, lngIndexPrefix As Long
' Safety net, remove if you think this won't be a problem.
If Target.Cells.Count > 1000 Then Exit Sub
For Each objCell In Target
Set rngIntersect = Application.Intersect(objCell, Range("ValidationRange"))
If Not rngIntersect Is Nothing Then
If Len(objCell.Text) = 0 Then
' Only continue if the cell isn't empty.
Target.Interior.ColorIndex = -4142
Else
strSuffix = Right(objCell.Text, 4)
strPrefix = Mid(objCell.Text, 1, Len(objCell.Text) - Len(strSuffix))
Err.Clear
On Error Resume Next
lngIndexPrefix = WorksheetFunction.Match(CInt(strPrefix), Range("Range1"), 0)
lngIndexSuffix = WorksheetFunction.Match(strSuffix, Range("Range2"), 0)
If Err.Description <> "" Then
Target.Interior.Color = 255
Else
Target.Interior.ColorIndex = -4142
End If
On Error GoTo 0
End If
End If
Next
End Sub
为了使这项工作,创建一个名为的范围超过这两个关键列在查找表。 数字(即19日,33,43岁,等等。) 我有一个名为"Range1"和4个字符的话(例如Exec,Folg,Disp,等等。) 我有一个名为"$Range2".
对于范围的细胞你想要运行验证检查,我称之为"ValidationRange".
扔宏成的工作表所具有的范围之内你想要验证和看它如何去。
谢谢你! 我想在这样的事情。 我将尝试。 谢谢你了!
Henrique Monteiro
@HenriqueMonteiro,这样做是为你工作?
Skin