|
grf1973 你好,
我有依照你的提示, 尝试修改程式码(如红字标示的地方), 可是不知道是否有问题, 能否帮我确认一下, 谢谢!
-------------------------------------------------------------------------------------------------------------
Private Sub Sel(xstr)
Dim i, j, jj, k, x, lotno
Dim ToRange As Range
Dim tmpArr(), n(), arr
With Worksheets(1)
arr = .Range("a1:an" & .[a65536].End(3).Row)
End With
With ActiveSheet
Set ToRange = .Range("F4:J10")
ReDim tmpArr(1 To ToRange.Rows.Count, 1 To 5)
ReDim n(1 To ToRange.Rows.Count)
ToRange.ClearContents: .[g2] = ""
xrr = Split(xstr, ",")
For i = 6 To UBound(arr)
lotno = arr(i, 1) '批號
part1 = Left(lotno, 13)
For Each x In xrr
If lotno = x Then
.Range("G2") = lotno
For j = 5 To 39 Step 5
k = j / 5
For jj = 0 To 4
If j <= 37 Then
If arr(i, j) <> "" Then
n(k) = n(k) + 1
If n(k) <= 5 Then tmpArr(k, n(k)) = arr(i, j + jj)
End If
End If
Next jj
Next j
End If
part2 = Left(x, 13)
If part1 = part2 Then If InStr(l2, arr(i, 40)) = 0 Then l2 = l2 & "," & arr(i, 40)
Next
Next i
ToRange = tmpArr
.[l2] = Mid(l2, 2)
End With
End Sub
-------------------------------------------------------------------------------------------------------------
|
|