|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
Sub test()
Dim i, j, k, m, n As Integer
Dim ar, br, cr As Variant
Dim d As Object
Set d = CreateObject("scripting.dictionary")
ar = Sheets(1).Range("a1:g" & Sheets(1).[a65536].End(xlUp).Row)
ReDim br(1 To UBound(ar), 1 To 33)
ReDim cr(1 To UBound(ar), 1 To 16)
If UBound(ar) >= 2 Then
For i = 2 To UBound(ar)
For j = 1 To UBound(ar, 2) - 1
If ar(i, j) <= 33 And ar(i, j) >= 1 Then
If Not d.exists(ar(i, j)) Then
br(i - 1, ar(i, j)) = ar(i, j)
d(ar(i, j)) = i - 1
Else
br(d(ar(i, j)), ar(i, j)) = br(d(ar(i, j)), ar(i, j)) & "," & ar(i, j)
End If
End If
Next
If ar(i, UBound(ar, 2)) <= 16 And ar(i, UBound(ar, 2)) >= 1 Then
cr(i - 1, ar(i, UBound(ar, 2))) = ar(i, UBound(ar, 2))
End If
Next
End If
With Sheets(1)
.[h2].Resize(100, 33).ClearContents
.[h2].Resize(UBound(br), 33) = br
.[ap2].Resize(100, 16).ClearContents
.[ap2].Resize(UBound(cr), 16) = cr
End With
MsgBox "ok"
End Sub |
|