In my workbook, Sheet1 contains all of the data I want to quantify. Column A contains a list of client names, and Column B contains a numerical value. There are additional columns from C to L with additional data.

Column A can contain repeat client names on any given row, not necessarily grouped together (i.e. John Doe's name could appear in cell A2, A11, A25, etc). I'm creating a userform that contains a ComboBox (ComboBbox1), a ListBox (ListBox1), and a CommandButton (CommandButton1).

The ComboBox is already working and alphabetically displays the unique values from Column A. Here's what's I need help with.... After the user selects a client name from the ComboBox and clicks the command button, I would like the ListBox to dynamically display only the records that match the ComboBox1.value. Also, if possible, I would also like these records to be sorted (ascending) by their numerical value contained in Column B.

This is what my simple code looks like so far. The below codes currently pulls ALL records in my set (from A2:K100). I am not sure how to dynamcially change the RowSource to present the data in this ideal fashion.

Private Sub CommandButton1_Click()
    With ListBox1
        .ColumnCount = 11
        .ColumnWidths = "100;70;110;100;50;70;100;80;100;100;110"
        .ColumnHeads = True
        .RowSource = Range("A2:K100").Address
    End With
End Sub
I want the ListBox to display the all columns, A through K. But only the records that meet the specific criteria.

Example:

Client Name Numeric Value Extra Data 1 Extra Data 2 etc,...
John Doe 13 ... ... ...
Bobby Jo 45 ... ... ...
John Doe 2 ... ... ...
Carter Day 6 ... ... ...
John Doe 40 ... ... ...

UserForm ListBox result would be:

Client Name Numeric Value Extra Data 1 Extra Data 2 etc,...
John Doe 2 ... ... ...
John Doe 13 ... ... ...
John Doe 40 ... ... ...