Assuming your data is in range A1:D4 where A1:D1 are headers and your ListBox has 4 columns, then to display these headers in your ListBox the way you want, the RowSource property of the ListBox should point to range "A2:D4" and the ColumnHeads property should be set to True.
That grid at the very top of your ListBox gets populated with headers only if you are are populating your ListBox from range/table on worksheet. It does not work if you are filling your ListBox in from array or adding items to it one by one.
Possible workarounds:
1. Collect your ListBox items in a worksheet, edit headers if needed, then load the ListBox from worksheet.
2. Collect your ListBox items in array, when ready, dump the array into worksheet, adjust headers if needed and load the ListBox from worksheet.
3. On UserForm, add Labels/TextBoxes above ListBox.
4. On UserForm, add separate ListBox above the existing one and load it with headers from worksheet.
Bookmarks