2010Excel如何录制宏将关键字筛选出来后复制到另外一张表上

2025-03-31 22:47:39
推荐回答(1个)
回答1:

先看图

Sub abc()
    Dim Arr, Brr()
    Dim R As Integer, i As Integer, n As Integer
    Dim LeiX As String
    R = Sheet2.Range("c" & Rows.Count).End(xlUp).Row
    If R > 2 Then
        Sheet2.Range("c3:e" & R) = ""
    End If
    
    R = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
    Arr = Sheet1.Range("A1:C" & R)
    LeiX = Sheet2.Range("A2")
    n = 1
    ReDim Brr(1 To 3, 1 To n)
    
    For i = 1 To UBound(Arr)
        If Arr(i, 1) = LeiX Then
            ReDim Preserve Brr(1 To 3, 1 To n)
            For j = 1 To UBound(Arr, 2)
                Brr(j, n) = Arr(i, j)
            Next
            n = n + 1
        End If
    Next
    
    Sheet2.Range("c3").Resize(UBound(Brr, 2), UBound(Brr)) = Application.WorksheetFunction.Transpose(Brr)
End Sub