Selected Answer
Malkal
Sorry but I don't have time to give a full answer but your routine LoadData uses the line:
r = Sheets(sh.Name).Range("A1").CurrentRegion.Value
to succesfully load the data form a chosen sheet into an array r.
You'll need to loop through that array and add list items to ListBox1 if you want to see that data in your UserForm.
Revision #1, 28 December 2024
If you don't need to exclude the Totals row, you can just add the code in bold below (with comments and included in the attached, revised file):
Sub LoadData()
On Error Resume Next
Set sh = Sheets(ComboBox1.Value)
On Error GoTo 0
If sh Is Nothing Then Exit Sub
' get data from sheet
r = Sheets(sh.Name).Range("A1").CurrentRegion.Value
' populate the listbox
With Me.ListBox1
'set columns to match data width
.ColumnCount = UBound(r, 2)
' add data
.List = r
End With
End Sub
Note that in the UserForm design for ListBox1, I set the number of columns to 8 (normally, via the ColumnCount property) but the code above adjusts that property automatically, just in case you have fewer or more columns on one sheet for example.
Likewise I made the second column INV NO (typo now corrected) 50% wider by making the ColumnWidths property:
50,75,50,50,50,50,50,50
(which VBA adjusts).
Hope this helps.