Private Sub UserForm_Initialize()
Dim rngDB As Range, rng As Range
Dim sWidth As String
Dim vR() As Variant
Dim n As Integer
Set rngDB = Range("a1:ab1")
For Each rng In rngDB
n = n + 1
ReDim Preserve vR(1 To n)
vR(n) = rng.EntireColumn.Width
Next rng
sWidth = Join(vR, ";")
Debug.Print sWidth
With ListBox1
.ColumnCount = 28
.ColumnWidths = sWidth
.RowSource = "A1:AB2"
.BorderStyle = fmBorderStyleSingle
End With
End Sub
In some columns the last letter is halfway
According to your question that means that some of your cells in certain columns are also half filled.List the listbox with the same width as the table column