Private [COLOR="Navy"]Sub[/COLOR] UserForm_Initialize()
[COLOR="Navy"]Dim[/COLOR] Rng [COLOR="Navy"]As[/COLOR] Range, Dn [COLOR="Navy"]As[/COLOR] Range, n [COLOR="Navy"]As[/COLOR] [COLOR="Navy"]Long,[/COLOR] Q [COLOR="Navy"]As[/COLOR] Variant, Txt [COLOR="Navy"]As[/COLOR] [COLOR="Navy"]String,[/COLOR] Ray [COLOR="Navy"]As[/COLOR] Variant, ac [COLOR="Navy"]As[/COLOR] [COLOR="Navy"]Long[/COLOR]
[COLOR="Navy"]Dim[/COLOR] c [COLOR="Navy"]As[/COLOR] [COLOR="Navy"]Long[/COLOR]
[COLOR="Navy"]Set[/COLOR] Rng = Range(Range("A1"), Range("A" & Rows.Count).End(xlUp))
Ray = ActiveSheet.Cells(1).CurrentRegion
[COLOR="Navy"]Set[/COLOR] Dic = CreateObject("scripting.dictionary")
Dic.CompareMode = vbTextCompare
[COLOR="Navy"]For[/COLOR] n = 2 To Rng.Count
[COLOR="Navy"]If[/COLOR] Not Dic.Exists(CDate(Ray(n, 1))) [COLOR="Navy"]Then[/COLOR]
ReDim nRay(1 To UBound(Ray, 1), 1 To UBound(Ray, 2))
[COLOR="Navy"]For[/COLOR] ac = 1 To UBound(Ray, 2)
nRay(1, ac) = Ray(1, ac)
[COLOR="Navy"]If[/COLOR] ac = 1 [COLOR="Navy"]Then[/COLOR]
nRay(2, ac) = Format(Ray(n, ac), "dd/mm/yyyy")
[COLOR="Navy"]Else[/COLOR]
nRay(2, ac) = Ray(n, ac)
[COLOR="Navy"]End[/COLOR] If
[COLOR="Navy"]Next[/COLOR] ac
Dic.Add CDate(Ray(n, 1)), Array(nRay, 2)
[COLOR="Navy"]Else[/COLOR]
Q = Dic(CDate(Ray(n, 1)))
Q(1) = Q(1) + 1
[COLOR="Navy"]For[/COLOR] ac = 1 To UBound(Ray, 2)
[COLOR="Navy"]If[/COLOR] ac = 1 [COLOR="Navy"]Then[/COLOR]
Q(0)(Q(1), ac) = Format(Ray(n, ac), "dd/mm/yyyy")
[COLOR="Navy"]Else[/COLOR]
Q(0)(Q(1), ac) = Ray(n, ac)
[COLOR="Navy"]End[/COLOR] If
[COLOR="Navy"]Next[/COLOR] ac
Dic(CDate(Ray(n, 1))) = Q
[COLOR="Navy"]End[/COLOR] If
[COLOR="Navy"]Next[/COLOR] n
[COLOR="Navy"]Dim[/COLOR] k
Me.ComboBox1.List = Application.Transpose(Dic.keys)
[COLOR="Navy"]End[/COLOR] [COLOR="Navy"]Sub[/COLOR]
Private [COLOR="Navy"]Sub[/COLOR] CommandButton1_Click()
[COLOR="Navy"]If[/COLOR] Me.ListBox1.ListCount > 0 [COLOR="Navy"]Then[/COLOR]
[COLOR="Navy"]With[/COLOR] Workbooks.Add
[COLOR="Navy"]With[/COLOR] .Sheets(1).Range(Cells(1, 1), Cells(Dic.Count, Me.ListBox1.ColumnCount))
.Value = Me.ListBox1.List
.Borders.Weight = 2
.Columns.AutoFit
[COLOR="Navy"]End[/COLOR] With
Sheets(1).Name = Format(Now(), "yyyy-mm-dd") & " Transfer"
[COLOR="Navy"]End[/COLOR] With
[COLOR="Navy"]End[/COLOR] If
[COLOR="Navy"]End[/COLOR] [COLOR="Navy"]Sub[/COLOR]