Lo que pides lo hace esta macro, aumenta el número de espacios de acuerdo al nombre más largo y pone tabuladores para alinear el importe.
Sub men()
'Por.DAM
rango = "A1:A10"
largo = Evaluate("=MAX(LEN(" & "A1:A10" & "))")
veces = Int(largo / 10)
For i = 1 To 10
nlargo = Len(Cells(i, "A"))
If nlargo < largo Then
espacios = largo - nlargo
For j = 1 To espacios
cad = cad & " "
Next
For k = 1 To veces
cad = cad & vbTab
Next
Else
For k = 1 To veces
cad = cad & " " & vbTab
Next
End If
m = m & Cells(i, "A") & cad & Format(Cells(i, "B"), "$ #,##0.00") & vbCr
cad = ""
Next
MsgBox m
End Sub
Pero el resultado es algo como esto:

Entre los nombres y el importe existe el mismo número de espacios. El problema es que el tamaño de las letras y de los espacios no es el mismo, esto es debido al tipo de letra, por ejemplo una "m" no es del mismo tamaño que una "i", es por eso que no se logra que la columna de importe quede alineada.
Además el tabulador es algo inestable y también es debido al tamaño de los caracteres. Y por último no se podría lograr que los números se justifiquen a la derecha.
Para lograr algo más dinámico, tendría que ser con un userform, quedaría algo como esto:

El código para el formulario sería algo como esto
Private Sub CommandButton1_Click()
'Por.DAM
Unload Me
End Sub
Private Sub UserForm_Activate()
'Por.DAM
ListBox1.Enabled = False
ListBox2.Enabled = False
a = ListBox1.Width
largo = Evaluate("=MAX(LEN(" & "A1:A10" & "))")
ListBox1.Width = (largo * 7.47) + (3 * 7.47)
ListBox2.Left = (largo * 7.47)
CommandButton1.Left = (largo * 7.47)
Me.Width = ListBox1.Width + ListBox2.Width + 3
Me.Caption = "Lista de nombres e importes"
For i = 1 To 10
ListBox1.AddItem Cells(i, "A")
ListBox2.AddItem Format(Cells(i, "B"), "$ #,##0.00")
Next
End Sub
Tendrás que crear un formulario: "userform1", con 2 listbox: "listbox1" y "listbox2" y commandbutton: "commandbutton1".
Si quieres, puedo crear el formulario en tu libro, envíame tu archivo para adaptar el formulario.