Dve overenie údajov v tej istej bunke

0

Otázka

Potrebujem urobiť overenie údajov pre používateľa sa nemusíte misstype informácie, ktoré ide do databanky. Informácie v bunke musí byť naplnený dvoch kritérií, prvá časť je pracovník stav, a druhý informácie hneď po v tej istej bunke je de zmluvy kód, ktorý pracuje na. Ako môžem vykonať overenie údajov s týmito dvoma informácie ukladané v dvoch rôznou tabuľky? Snažil som sa niečo podobné =A(VĽAVO(K3:Q999;4)=S3:S13;VPRAVO(K3:Q999;2)=S15:S49)

zadajte popis obrázku tu

database datatable excel formula
2021-11-23 14:14:08
1

Najlepšiu odpoveď

-1

To všetko závisí na tom, ako budete chcieť požiadať o potvrdenie.

Ak chcete byť v bunke v rozbaľovacej potom štandard overenie bude fungovať len ak budete mať každú kombináciu možné vo vlastnom rozsahu, napr. ...

19Exec
19Folg
19Disp
...
33Exec
33Folg
33Disp
... 
etc.

Ak chcete, môžete vždy urobiť pomocou VBA. Pozor však to urobia späť zásobníka a bude pravdepodobne potrebné rafinované, aby zabezpečila, že zabezpečuje pre všetky scenáre. To je veľmi veľa možnosť hoci.

Potrebujete zmeniť tento kód vám bude vyhovovať. Je to holé kosti a pracuje v základnej zmysel.

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, vytvoriť pomenovaný rozsah, v oboch tlačidlo stĺpce vašej vyhľadávacie tabuľky. Čísel (t. j. 19, 33, 43, atď.) Mám s názvom "Range1" a 4 znak slová (napr. Exec, Folg, Disp, atď.) Mám s názvom "Range2".

Pre rozsah buniek, ktorý chcete spustiť, overenie, som volal, že "ValidationRange".

Hodiť sa, že makro do pracovného hárka, ktorá má rozsah chcete overiť, a uvidíte, ako to ide.

2021-11-23 23:24:43

Ďakujeme, že ste!! Bola som na mysli niečo ako, že. Budem sa snažiť. Ešte raz vám ďakujem!
Henrique Monteiro

@HenriqueMonteiro, to urobil prácu za vás?
Skin

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................