Try this:-
Private Sub UserForm_Initialize()
Dim Rng As Range, Dn As Range, Q As Variant, Dic As Object
Set Rng = Range(Range("B2"), Range("B" & Rows.Count).End(xlUp))
Set Dic = CreateObject("scripting.dictionary")
Dic.CompareMode = vbTextCompare
For Each Dn In Rng
If Not Dic.Exists(Dn.Value) Then
Dic.Add Dn.Value, Array(Dn.Value, Dn.Offset(, 1).Value, Dn.Offset(, 2).Value)
Else
Q = Dic(Dn.Value)
Q(1) = Q(1) + Dn.Offset(, 1).Value
Q(2) = Q(2) + Dn.Offset(, 2).Value
Dic(Dn.Value) = Q
End If
Next
With Me.ListBox1
.ColumnCount = 3
.List = Application.Index(Dic.items, 0, 0)
End With
End Sub