|
Sub test()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim y As Integer
Dim arr
Dim m
Dim n
arr = Range("a12:d16")
Dim brr(1 To 4, 1 To 4)
For i = 1 To UBound(arr)
For j = 1 To UBound(brr)
If arr(i, 2) & arr(i, 3) & arr(i, 4) = brr(j, 2) & brr(j, 3) & brr(j, 4) Then
y = y + 1
If y = 1 Then
m = Right(arr(i, 1), 7)
n = Right(brr(j, 1), 7)
If Abs(m - n) = 1 Then
brr(j, 1) = brr(j, 1) & "-" & Right(arr(i, 1), 3)
Else
brr(j, 1) = brr(j, 1) & "/" & arr(i, 1)
End If
Else
m = Right(arr(i, 1), 7)
n = Mid(brr(j, 1), 2, 4) & Right(brr(j, 1), 3)
If Abs(m - n) = 1 Then
brr(j, 1) = brr(j, 1) & "-" & Right(arr(i, 1), 3)
Else
brr(j, 1) = brr(j, 1) & "/" & arr(i, 1)
End If
End If
GoTo 100
End If
Next
k = k + 1
brr(k, 1) = arr(i, 1): brr(k, 2) = arr(i, 2): brr(k, 3) = arr(i, 3): brr(k, 4) = arr(i, 4)
100
Next
Worksheets.Add(after:=Sheets(Sheets.Count)).Name = "汇总"
Sheets("汇总").Range("a1").Resize(UBound(brr), 4).NumberFormatLocal = "@"
Sheets("汇总").Range("a1").Resize(UBound(brr), 4) = brr
End Sub |
|