Keresés

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

  • p5quser

    tag

    válasz Fferi50 #51316 üzenetére

    Először is, köszönöm a segítséget Neked és Muttnak!
    Nyilván kicsit több infoval könnyebb kontextusba helyezni ezt "fel-le nyilasdit".
    Szóval így néz ki a form;

    Ez pedig a combobox3 (megnevezés) kódja;
    Private Sub ComboBox3_Enter()
        ComboBox3 = scstr    'az előző keresési string
    End Sub
    Private Sub ComboBox3_Change()
        If ComboBox3.Enabled = True Then
            dic.RemoveAll    'Törli a dropdown list elemeket.
            If Not Comb_Arrow And Len(ComboBox3) > 1 Then    'elkezd keresni a második leütött karaktertől
                For i = 1 To lrd
                    If InStr(LCase(ciktomb(i, 2)), LCase(ComboBox3)) > 0 And ComboBox3 <> vbNullString _
                        And Not dic.Exists(ciktomb(i, 2)) Then
                        dic.Add ciktomb(i, 2), Nothing
                        ComboBox3.List = dic.keys    'a találatokat egy dictionary-be gyűjti
                    End If
                Next i
                With ComboBox3
                    scstr = .Text    'lementi az előző keresési stringet, mert sok hasonló nevű van, így nem kell újra beírni
                    If dic.Count = 0 Then .List = dic.keys
                    If dic.Count = 1 Then    'ha csak egy találat van beugrik a textbox1-be.
                        .ListIndex = 0
                        With TextBox1
                            .SetFocus
                            .SelStart = 0
                            .SelLength = Len(.Text)
                        End With
                        Exit Sub
                    End If
                    If .Enabled = True And dic.Count > 1 Then .DropDown
                End With
            End If
        End If
    End Sub
    Private Sub ComboBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        Comb_Arrow = (KeyCode = vbKeyUp) Or (KeyCode = vbKeyDown)    'a fel-le nyíllal belelép a listába, de mindig a tetejére.
        If KeyCode = vbKeyReturn Then    'enterrel (vagy clickkel) kiválasztja a tételt és a textboxba lép
            ComboBox3.List = dic.keys
            With TextBox1
                .SetFocus
                .SelStart = 0
                .SelLength = Len(.Text)
            End With
        End If
    End Sub
    Ezek alapján lehetséges egyáltalán hogy alulról lépjen bele a legördülő menübe a felfelé nyíllal?
    Még egyszer köszönöm az ötletelést!

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

Hirdetés