What I am trying to do, is that when the user is on a cell that contains a part number and then presses a hot key to open up the user form, I would like the userform to recognise the value from the worksheet and drop it into a textbox on the userform and then pull up its extended details from another worksheet. As it currently stands the userform opens up upon pressing a button on the worksheet and works fine in this fashion but the user has to type the number in which should not need to be necessary. The sheet that has the part number where the process will be initiated is sheet2 while sheet10 is where it is pulling up extended details for the part number in question.

Private Sub Reg1_AfterUpdate()
'Check to see if value exists
    If WorksheetFunction.CountIf(Sheet10.Range("A:A"), Me.Reg1.Value) = 0 Then
        MsgBox "This is an incorrect ID"
        Me.Reg1.Value = ""
        Exit Sub
    End If
    'Lookup values based on first control
    
    
    With Me
        .Reg2 = Application.WorksheetFunction.VLookup(Me.Reg1, Sheet10.Range("Pinfo"), 2, 0)
        .Reg3 = Application.WorksheetFunction.VLookup(Me.Reg1, Sheet10.Range("Pinfo"), 3, 0)
        .Reg4 = Application.WorksheetFunction.VLookup(Me.Reg1, Sheet10.Range("Pinfo"), 4, 0)
        .Reg7 = Application.WorksheetFunction.VLookup(Me.Reg1, Sheet10.Range("Pinfo"), 7, 0)
        .Reg8 = Application.WorksheetFunction.VLookup(Me.Reg1, Sheet10.Range("Pinfo"), 8, 0)
        .Reg9 = Application.WorksheetFunction.VLookup(Me.Reg1, Sheet10.Range("Pinfo"), 9, 0)
        .Reg10 = Application.WorksheetFunction.VLookup(Me.Reg1, Sheet10.Range("Pinfo"), 10, 0)
        .Reg11 = Application.WorksheetFunction.VLookup(Me.Reg1, Sheet10.Range("Pinfo"), 11, 0)
        .Reg12 = Application.WorksheetFunction.VLookup(Me.Reg1, Sheet10.Range("Pinfo"), 12, 0)
        .Reg13 = Application.WorksheetFunction.VLookup(Me.Reg1, Sheet10.Range("Pinfo"), 13, 0)
    End With
End Sub