|
发表于 2021-4-18 23:31
|
显示全部楼层
本楼为最佳答案
Sub demo()
Dim b(1 To 99), d(1 To 7)
For Each Rng In [j1:o1]
b(Rng.Value) = 1
Next
For i = 1 To 7
Set d(i) = CreateObject("Scripting.Dictionary")
Next
bh = Range("b1:h" & [b1].End(xlDown).Row)
For i = 1 To UBound(bh)
s = ""
For j = 1 To 7
If bh(i, j) = " " Then Exit For
If b(bh(i, j)) = 0 Then Exit For
s = s & bh(i, j): d(j)(s) = 1
Next
Next
Range(Cells(1, "s"), Cells(Cells(Rows.Count, "s").End(xlUp).Row, Sheets(1).UsedRange.Columns.Count)).ClearContents
For Each Key In d(1).Keys
r = r + 1: c = 19: Cells(r, c) = Key
For i = 2 To 7
For Each s In d(i).Keys
If s Like Key & "*" Then
c = c + 1
For si = 1 To Len(s) Step 2
c = c + 1
Cells(r, c) = Mid(s, si, 2)
Next
d(i).Remove s
Else
Exit For
End If
Next
Next
Next
End Sub
祝順心,南無阿彌陀佛!
|
评分
-
查看全部评分
|