Private Sub UserForm_Initialize()
Dim plg As Range
Dim cw
Set plg = Range("A1:E" & Range("E65536").End(xlUp).Row)
plg.Columns.AutoFit
ListBox1.Width = 20 + plg.Width
Me.Width = ListBox1.Width + 20
CommandButton1.Left = (Me.Width / 2) - (Me.CommandButton1.Width / 2)
With ListBox1
cw = ""
.ColumnCount = plg.Columns.Count
.RowSource = plg.Address
For i = 1 To .ColumnCount
cw = cw & plg.Columns(i).Width & ";"
Next
.ColumnWidths = cw
.ListIndex = -1
End With
End Sub