VBA复制筛选后的内容

注意此代码背景是筛选A列值为“lala”的数据,拷贝A至AA列所有数据

Function CopySelectValue(SheetsName1 As String,)
    Dim MaxRow, MinRow As Integer
    Sheets(SheetsName1).Activate
    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$AA$" & i).AutoFilter Field:=1, Criteria1:=“lala”   '进行筛选
    
    Range("A1").Select
    ActiveCell.Offset(1, 0).Select
    Do Until ActiveCell.EntireRow.Hidden = False
    	ActiveCell.Offset(1, 0).Select
    Loop    
    MinRow = Selection.Row   '获取筛选后最上方单元格横坐标
    
    MaxRow = [a1000].End(xlUp).Row   ’1000可以根据需求改大;此举目的是为了获取筛选后数据最后一行行坐标
    If MinRow > MaxRow Then
        Range("A1").Select   '即没有筛选到任何内容,随便进行一个无关操作
    Else:   ' 小于等于都可以
        Range("A" & MinRow & ":AA" & MaxRow).Select
        Selection.Copy
    End If
End Function
    原文作者:soapcmd
    原文地址: https://blog.csdn.net/weixin_44596902/article/details/115446716
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞