Musím provést ověření dat pro uživatele don ' t misstype informace, že jde do databanky. Informace v buňce, musí být naplněny dvě podmínky, první část je status pracovníka, a druhá informace, hned poté, ve stejné buňce je de smlouvu kód, který pracuje na. Jak mohu provést ověření dat se tyto dva údaje zlikvidovat ve dvou různých tabulek? Zkoušel jsem něco jako =A(ZLEVA(K3:Q999;4)=S3:S13;DOPRAVA(K3:Q999;2)=S15:S49)
To vše závisí na tom, jak chcete použít ověřování.
Pokud chcete, aby to bylo v buňce v rozbalovací pak standardní validace bude fungovat pouze pokud máte všechny kombinace, je možné v jeho vlastním rozsahu, např. ...
19Exec
19Folg
19Disp
...
33Exec
33Folg
33Disp
...
etc.
Pokud chcete, můžete vždy udělat to pomocí VBA. Pozor ale, tím se platnost undo zásobníku a bude pravděpodobně muset být zdokonalen, aby bylo zajištěno, že je ideální pro všechny scénáře. Je to velmi mnoho možností.
Potřebujete změnit kód, aby vám vyhovoval. Je to holé kosti a práce v základní smysl.
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
Aby to fungovalo, vytvořit pojmenovanou oblast na oba klíčové sloupce vyhledávací tabulky. Čísla (tj. 19, 33, 43, etc.) Jsem pojmenoval "Range1" a 4 znak slova (např. Exec, Folg, Disp, atd.) Jsem pojmenoval "Range2".
Pro rozsah buněk, které chcete spustit ověření, volal jsem, že "ValidationRange".
Hodit to makro do sešitu, který má rozsah, který chcete ověřit a uvidíme, jak to půjde.