+ Reply to Thread
Results 1 to 3 of 3

Keypress Textbox

  1. #1
    Forum Contributor
    Join Date
    01-19-2006
    Posts
    142

    Keypress Textbox

    Hi all,

    I have a userform with a cmdButton, lstBox, and txtBox - the userform acts as a search tool for part numbers;

    I am trying to make the form more usable, so when I press enter whilst in the txtBox it will call a search function - I have tried various methods but everytime I press 'enter' it moves focus to the cmdButton and doesn't recognise the KeyPress ascii of 'enter'.

    I have successfully got it working on my listbox, see code below;

    Please Login or Register  to view this content.
    Any ideas or suggestions?

    Thanks
    Last edited by gti_jobert; 03-09-2006 at 06:18 AM.

  2. #2
    Henrich
    Guest

    RE: Keypress Textbox

    Hi, If I did you understand good so go to Commandbutton propertis and set
    Deafult as False or paste it into the code like this:

    CommandButton1.Default = True

    Then if you hit the ENTER the Commandbutton would not have the focus.

    Henrich

    „gti_jobert" napÃ*sal (napÃ*sala):

    >
    > Hi all,
    >
    > I have a userform with a cmdButton, lstBox, and txtBox - the userform
    > acts as a search tool for part numbers;
    >
    >
    > Code:
    > --------------------
    >
    > Public Function searchPart(partNumber)
    >
    > Dim i%, rowParts%, Count As Integer
    >
    > Select Case frmMain.cbxSection.Value
    >
    > Case "Heading": rowParts = 7
    > Case "Briv Cartridge": rowParts = 9
    > Case "Pace": rowParts = 11
    > Case "Thread Rolling": rowParts = 13
    > Case "Podding": rowParts = 15
    >
    > End Select
    >
    > ActiveWorkbook.Sheets("RelationalData").Activate
    > Range("A1").Select
    >
    > If partNumber <> "" Then
    >
    > frmSearch.lstResult.Clear
    > i = 3: Count = 0
    > Do
    > If InStr(1, Cells(i, rowParts).Value, partNumber, vbTextCompare) <> 0 Then
    > With frmSearch.lstResult
    > .AddItem Cells(i, rowParts).Value
    > Count = Count + 1
    > End With
    > End If
    > i = i + 1
    > Loop Until Cells(i, rowParts).Value = ""
    >
    > If Count = 0 Then
    > With frmSearch.lstResult
    > .AddItem "No Match Found"
    > End With
    > End If
    >
    > End If
    >
    > frmSearch.lstResult.TopIndex = 1
    > frmSearch.lstResult.ListIndex = 0
    > frmSearch.lstResult.SetFocus
    >
    > End Function
    >
    > --------------------
    >
    >
    > I am trying to make the form more usable, so when I press enter whilst
    > in the txtBox it will call my function above - I have tried various
    > methods but everytime I press 'enter' it moves focus to the cmdButton.
    >
    > Any ideas or suggestions?
    >
    > Thanks
    >
    >
    > --
    > gti_jobert
    > ------------------------------------------------------------------------
    > gti_jobert's Profile: http://www.excelforum.com/member.php...o&userid=30634
    > View this thread: http://www.excelforum.com/showthread...hreadid=520474
    >
    >


  3. #3
    Forum Contributor
    Join Date
    01-19-2006
    Posts
    142
    Sorted Henrich, that works perfectly!

    Thanks alot!

    Quote Originally Posted by Henrich
    Hi, If I did you understand good so go to Commandbutton propertis and set
    Deafult as False or paste it into the code like this:

    CommandButton1.Default = True

    Then if you hit the ENTER the Commandbutton would not have the focus.

    Henrich

    „gti_jobert" napÃ*sal (napÃ*sala):

    >
    > Hi all,
    >
    > I have a userform with a cmdButton, lstBox, and txtBox - the userform
    > acts as a search tool for part numbers;
    >
    >
    > Code:
    > --------------------
    >
    > Public Function searchPart(partNumber)
    >
    > Dim i%, rowParts%, Count As Integer
    >
    > Select Case frmMain.cbxSection.Value
    >
    > Case "Heading": rowParts = 7
    > Case "Briv Cartridge": rowParts = 9
    > Case "Pace": rowParts = 11
    > Case "Thread Rolling": rowParts = 13
    > Case "Podding": rowParts = 15
    >
    > End Select
    >
    > ActiveWorkbook.Sheets("RelationalData").Activate
    > Range("A1").Select
    >
    > If partNumber <> "" Then
    >
    > frmSearch.lstResult.Clear
    > i = 3: Count = 0
    > Do
    > If InStr(1, Cells(i, rowParts).Value, partNumber, vbTextCompare) <> 0 Then
    > With frmSearch.lstResult
    > .AddItem Cells(i, rowParts).Value
    > Count = Count + 1
    > End With
    > End If
    > i = i + 1
    > Loop Until Cells(i, rowParts).Value = ""
    >
    > If Count = 0 Then
    > With frmSearch.lstResult
    > .AddItem "No Match Found"
    > End With
    > End If
    >
    > End If
    >
    > frmSearch.lstResult.TopIndex = 1
    > frmSearch.lstResult.ListIndex = 0
    > frmSearch.lstResult.SetFocus
    >
    > End Function
    >
    > --------------------
    >
    >
    > I am trying to make the form more usable, so when I press enter whilst
    > in the txtBox it will call my function above - I have tried various
    > methods but everytime I press 'enter' it moves focus to the cmdButton.
    >
    > Any ideas or suggestions?
    >
    > Thanks
    >
    >
    > --
    > gti_jobert
    > ------------------------------------------------------------------------
    > gti_jobert's Profile: http://www.excelforum.com/member.php...o&userid=30634
    > View this thread: http://www.excelforum.com/showthread...hreadid=520474
    >
    >

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1