各位大佬请问谁能帮我翻译讲解下这段代码吗
Sub 制小表()
Dim d As Object
Dim ss$, n%
Range("A2:H" & [a65536].End(3).Row).Delete Shift:=xlUp
m = Sheet1.[d65536].End(xlUp).Row
arr = Sheet1.Range("d1:h" & m)
Set d = CreateObject("scripting.dictionary")
ReDim brr(1 To UBound(arr), 1 To 4)
For i = 2 To UBound(arr)
ss = arr(i, 1)
If Not d.Exists(ss) Then
n = n + 1
d.Add ss, n
brr(n, 1) = arr(i, 1): brr(n, 2) = 1: brr(n, 3) = arr(i, 4): brr(n, 4) = arr(i, 5)
Else
brr(d(ss), 2) = brr(d(ss), 2) + 1
brr(d(ss), 3) = brr(d(ss), 3) & "|" & arr(i, 4)
brr(d(ss), 4) = brr(d(ss), 4) & "|" & arr(i, 5)
End If
Next
bt = [{"序号","","","数量","码段","无码段","码段不清","户数"}]
Columns("B:C").NumberFormatLocal = "@"
d.RemoveAll
ReDim crr(1 To (m - 1) + n * 3, 1 To 8)
hs = 0
For i = 1 To n
For j = 1 To 8
crr(1 + hs, j) = bt(j)
Next
crr(1 + hs, 2) = brr(i, 1)
p1 = Split(brr(i, 3), "|")
p2 = Split(brr(i, 4), "|")
For j = 1 To brr(i, 2)
crr(j + 1 + hs, 1) = j
crr(j + 1 + hs, 2) = p1(j - 1)
crr(j + 1 + hs, 3) = p2(j - 1)
ss = Right(crr(j + 1 + hs, 3), 6)
If InStr(ss, "*") = 0 Then
If Not d.Exists(ss) Then
d.Add ss, ""
crr(j + 1 + hs, 8) = 1
crr(brr(i, 2) + 2 + hs, 8) = crr(brr(i, 2) + 2 + hs, 8) + 1
End If
End If
If InStr(crr(j + 1 + hs, 2) & crr(j + 1 + hs, 3), "*") = 0 Then
crr(j + 1 + hs, 5) = 1
crr(brr(i, 2) + 2 + hs, 5) = crr(brr(i, 2) + 2 + hs, 5) + 1
Else
If Len(Replace(crr(j + 1 + hs, 2) & crr(j + 1 + hs, 3), "*", "")) = 0 Then
crr(j + 1 + hs, 6) = 1
crr(brr(i, 2) + 2 + hs, 6) = crr(brr(i, 2) + 2 + hs, 6) + 1
Else
crr(j + 1 + hs, 7) = 1
crr(brr(i, 2) + 2 + hs, 7) = crr(brr(i, 2) + 2 + hs, 7) + 1
End If
End If
crr(j + 1 + hs, 4) = 1
crr(brr(i, 2) + 2 + hs, 4) = crr(brr(i, 2) + 2 + hs, 4) + 1
Next
crr(brr(i, 2) + 2 + hs, 1) = "合计"
crr(brr(i, 2) + 3 + hs, 1) = "备注:卷烟" & crr(brr(i, 2) + 2 + hs, 4) & "条,码段" & crr(brr(i, 2) + 2 + hs, 5) * 1 & "条,无码段" & crr(brr(i, 2) + 2 + hs, 6) * 1 & "条,码段不清" & crr(brr(i, 2) + 2 + hs, 7) * 1 & "条,涉及户数" & crr(brr(i, 2) + 2 + hs, 8) * 1 & "户"
d.RemoveAll
Cells(1, "a").Offset(brr(i, 2) + 1 + hs, 0).Resize(1, 3).Merge
Cells(1, "a").End(3).Offset(brr(i, 2) + 2 + hs, 0).Resize(1, 8).Merge
Cells(1, "a").End(3).Resize(1, 2).Offset(hs, 1).Merge
hs = hs + brr(i, 2) + 3
Next
Cells(1, "a").Resize(UBound(crr), 8) = crr
Range("a1:h" & [a65536].End(3).Row).Borders.LineStyle = 1
End Sub