|
代码如下。。
Sub test()
Dim arr1, arr2(), x, y, k, St$
St = Sheets("41周").Range("AA2").Value
St = IIf(St <> "", St, Sheets("41周").Range("AA5").Value)
r = Sheets("41周").Cells(Rows.Count, 5).End(3).Row
arr1 = Sheets("41周").Range("A1").CurrentRegion.Resize(r)
k = 0
For x = 5 To UBound(arr1)
If arr1(x, 5) = St Then
k = k + 1
If k = 1 Then
ReDim arr2(1 To UBound(arr1, 2) - 4, 1 To 1)
Else
ReDim Preserve arr2(1 To UBound(arr1, 2) - 4, 1 To k)
End If
For y = 5 To 15
arr2(y - 4, k) = arr1(x, y)
Next y
End If
Next x
Sheets("41周").Range("AA5:AK10").ClearContents
If k > 0 And UBound(arr1, 2) > 0 Then
Sheets("41周").Range("AA5").Resize(k, UBound(arr1, 2)) = Application.WorksheetFunction.Transpose(arr2)
Else
MsgBox "数据处理出现问题,无法写入到工作表。请检查数据。"
End If
End Sub
|
|