将自动筛选器数据复制到另一列

时间:2013-09-18 12:50:23

标签: vba excel-vba copy autofilter excel

以下代码根据列S& C过滤数据。然后它在可见数据上写下“Resub UW”。 目前我正在尝试将列K中的可见日期数据复制到AO列中的可见空数据。如果有人可以帮我这个代码。

`Sub ReSubmitted_UW()
Rows("1:1").Select
Selection.AutoFilter
With ActiveSheet

.Range("$A:$AN").AutoFilter Field:=19, Criteria1:="<>"
.Range("$A:$AN").AutoFilter Field:=20, Criteria1:="="


lastRow = .Range("F" & Rows.Count).End(xlUp).Row

If lastRow > 2 Then
.Range(.Range("E2"), .Range("E" & lastRow)). _
SpecialCells(xlCellTypeVisible).Value = "ReSub UW"
End If
.Range("$A:$AN").AutoFilter
End With

End Sub

`

1 个答案:

答案 0 :(得分:0)

以下是将过滤范围内的一列中的值复制到另一列的方法:

Sub CopyOneFilteredColumnToAnother()
    ' always declare your variables! (use option explicit)
    Dim ws As Worksheet
    Dim lastRow As Long

    Set ws = ThisWorkbook.Sheets("Sheet1")

    ws.Range("$A:$AN").AutoFilter Field:=19, Criteria1:="<>"
    ws.Range("$A:$AN").AutoFilter Field:=20, Criteria1:="="

    lastRow = ws.Range("F" & Rows.Count).End(xlUp).Row

    If lastRow > 2 Then
        ws.Range("AO2:AO" & lastRow).SpecialCells(xlCellTypeVisible).Value2 = _
            ws.Range("K2:K" & lastRow).SpecialCells(xlCellTypeVisible).Value2
    End If

    ' turn autofilters back off
    ws.AutoFilterMode = False

End Sub