|
楼主 |
发表于 2016-9-27 13:30
|
显示全部楼层
第一种
Sub test()
Dim arr, brr(1 To 1000, 1 To 3)
Dim k%
arr = Range("a1").CurrentRegion
For x = 2 To UBound(arr)
For y = 2 To 8
If Cells(x, y) < 60 Then
k = k + 1
brr(k, 1) = arr(x, 1)
brr(k, 2) = arr(1, y)
brr(k, 3) = arr(x, y)
End If
Next y
Next x
Range("m2").Resize(k, 3) = brr
End Sub
第二种
Sub tiqu()
Dim arr, i%, j%, k%, brr()
arr = [a1].CurrentRegion
For i = 2 To UBound(arr)
For j = 2 To UBound(arr, 2)
If arr(i, j) < 60 Then
k = k + 1
ReDim Preserve brr(1 To 3, 1 To k)
brr(1, k) = arr(i, 1)
brr(2, k) = arr(1, j)
brr(3, k) = arr(i, j)
End If
Next j
Next i
Intersect(ActiveSheet.UsedRange, Range("J:L")).ClearContents
[J1:L1] = [{"姓名","科目","成绩"}]
[j2].Resize(k, 3) = WorksheetFunction.Transpose(brr)
End Sub
|
|