Prueba lo siguiente:
Pon todo el código dentro de tu userform
Option Explicit
'
Dim nombres As New Collection
Dim sh As Worksheet
'
Private Sub CommandButton1_Click()
Dim f As Range
Dim lr As Long, i As Long
'VALIDACIONES
If NewCargo = "" Then
MsgBox "Captura Cargo"
NewCargo.SetFocus
Exit Sub
End If
If NewDpto = "" Then
MsgBox "Captura Depto"
NewDpto.SetFocus
Exit Sub
End If
If NewAsistente = "" Then
MsgBox "Captura Asistente"
NewAsistente.SetFocus
Exit Sub
End If
Set f = sh.Range("C:C").Find(NewAsistente, , xlValues, xlWhole, , , False)
If Not f Is Nothing Then
MsgBox "Ya existe el nombre"
NewAsistente.SetFocus
Exit Sub
End If
'
lr = sh.Range("A" & Rows.Count).End(3).Row + 1
sh.Range("A" & lr).Value = NewCargo
sh.Range("B" & lr).Value = NewDpto
sh.Range("C" & lr).Value = NewAsistente
'
If lr = 2 Then
ListBox1.AddItem sh.Range("A2").Value
ListBox2.AddItem sh.Range("B2").Value
ListBox3.AddItem sh.Range("C2").Value
Else
ListBox1.List = sh.Range("A2:A" & lr).Value
ListBox2.List = sh.Range("B2:B" & lr).Value
For i = 2 To lr
Call agregar(sh.Range("C" & i).Value)
Next
Dim a As Variant
ReDim a(1 To nombres.Count)
For i = 1 To nombres.Count
a(i) = nombres(i)
Next
ListBox3.List = a
End If
End Sub
Sub agregar(dato)
'Por.Dante Amor agrega orden alfabético
Dim i As Long
For i = 1 To nombres.Count
Select Case StrComp(nombres(i), dato, vbTextCompare)
Case 0: Exit Sub 'ya existe, no lo agrega
Case 1: nombres.Add dato, Before:=i: Exit Sub 'agrega antes
End Select
Next
nombres.Add dato 'lo agrega al final
End Sub
Private Sub UserForm_Initialize()
Dim lr As Long, i As Long
Dim a As Variant
'
Set sh = Sheets("MasterDATA")
lr = sh.Range("A" & Rows.Count).End(3).Row
'
If lr = 1 Then
Exit Sub
ElseIf lr = 2 Then
If sh.Range("A2").Value <> "" Then
ListBox1.Value = sh.Range("A2").Value
ListBox2.Value = sh.Range("B2").Value
ListBox3.Value = sh.Range("C2").Value
End If
Else
ListBox1.List = sh.Range("A2:A" & lr).Value
ListBox2.List = sh.Range("B2:B" & lr).Value
For i = 2 To lr
Call agregar(sh.Range("C" & i).Value)
Next
ReDim a(1 To nombres.Count)
For i = 1 To nombres.Count
a(i) = nombres(i)
Next
ListBox3.List = a
End If
End Sub
[No olvidar valorar la respuesta.