Keresés

Új hozzászólás Aktív témák

  • Mutt

    senior tag

    válasz Gandalf80 #16176 üzenetére

    Hello,

    ...egy legördülő listából válassza ki a megfelelő települést a felhasználó?

    Megoldható az ELTOLÁS (OFFSET) függvénnyel.
    Ha C2-ben van a kiválasztandó irányítószám és A és B oszlopokban az irányítószám és a település, akkor ezt a függvényt használd az érvényesítés (validation) forrásának:

    =ELTOLÁS($B$1;HOL.VAN(C2;$A:$A;0)-1;0;DARABTELI($A:$A;C2))

    Ennek a megoldásnak az a hátránya, hogy az igénylőnek akkor is ki kell választania az értéket a legördülő listából, amikor csak 1 találat van.

    Ezért csináltam 2 makrót használó megoldást is neked, amely ezeket ki tudja küszöbölni.

    Az egyszerűbb megoldásnál (F2 és G2-es mező) a fenti megoldás van makróval kiegészítve, ami ha
    - nincs találat kiírja azt vagy
    - egyértelmű találatnál a keresett értéket és
    - ha több találat van akkor pedig kírja hogy válasszanak.

    Ennek a program kódja:
    Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = Range("F2").Address Then
    'megszámoljuk hány találatunk van
    Select Case WorksheetFunction.CountIf(Range("A:A"), Range("F2"))
    Case 0
    'F2-es cellától jobbra kiírjuk a választ
    Range("F2").Offset(, 1).Value = "Nem található település"
    Case 1
    Range("F2").Offset(, 1).Value = WorksheetFunction.VLookup(Range("F2"), Range("A:B"), 2, False)
    Case Is > 1
    Range("F2").Offset(, 1).Value = "Válassz a listából!"
    End Select
    End If

    End Sub

    A másik megoldás (F10 és G10-ben), annyival több hogy több találat esetén fel dob egy ablakot, amiből választhat a felhasználó.

    Feltettem ide a mintát.

    üdv.

Új hozzászólás Aktív témák

Hirdetés