【017】筛选数据并整理(筛选、返回行号、清除全部数据)_#VBA

本文详细介绍了Excel中实现自动化办公的一些关键操作,包括基于特定条件的筛选(单条件、多条件及在已有筛选基础上筛选)、返回行号、删除重复数据、清除全部数据、求和函数以及不同方式的复制粘贴方法。这些技巧有助于提高工作效率。
摘要由CSDN通过智能技术生成

1. 筛选

主要使用的命名方式如下

ActiveSheet.Range("$A$1:$L$41500").AutoFilter Field:=1, Criteria1:=T1
' 1 指第几列,T1 指筛选内容

1.1 在某一基础上筛选

即先筛选某项内容,在这基础上再筛选另一个内容

ActiveSheet.Range("$A$1:$L$41500").AutoFilter Field:=1, Criteria1:=T1
' 叠加使用即可
ActiveSheet.Range("$A$1:$L$41500").AutoFilter Field:=3, Criteria1:=T2

1.2 多条件筛选

实际功能指令如下
在这里插入图片描述
在这里插入图片描述
代码运行如下

    ActiveSheet.Range("$A$1:$AF$21477").AutoFilter Field:=17, Criteria1:=ProvinceV
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add2 Key:= _
        Range("B2:B21477"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
        :=xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add2 Key:= _
        Range("P2:P21477"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

2. 返回行号

主要代码

T1 = ActiveSheet.UsedRange.Rows.Count

3. 删除某列重复数据

删除某列重复数据,选出该列不一样数据。

Windows(FileName2).Sheet("Sheet1").Range("B:B").RemoveDuplicates Columns:=1, Header:=xlYes

B列数据,若是有重复就删掉

4. 删除当页全部数据

选择某工作薄所有内容,进行清除。

Sheets("缓存区").Select
Cells.Select
Selection.ClearContents

5. 求和

对筛选出的数据进行求和,未在筛选范围内的不进行筛选。

    Dim cell As Range
    Dim i As Integer
   	SumData = 0
    i = Range("a65535").End(xlUp).Row			'返回当前单元格的行号
    For Each cell In Range("a3:a" & i)
        If Rows(cell.Row).Hidden = False Then	'判断当前行是否为隐藏
            If cell.Row Is Not 1 Then			'判断当前行号是否为1  is not相当于≠
                T = Cells(cell.Row, 2)
                SumData = T + Int(SumData)
            End If
        End If
    Next cell

6. 复制黏贴

6.1 第一种

' 复制
Windows(FileName1).Activate
Sheets("Sheet1").Select
Range("B:B,E:E,P:P,Q:Q").Select
Selection.Copy
' 黏贴
 Windows(FileName).Activate
 Sheets(SheetName).Select
 Range("A1").Select
 ActiveSheet.Paste

6.2 第二种

' 复制
Windows(FileName1).Sheets("Sheet1").Range("B:B,E:E,P:P,Q:Q").Copy
' 黏贴
 Windows(FileName).Sheets(SheetName).Range("A1").Select
 ActiveSheet.Paste

6.2 第三种

' A1单元格数据直接拷贝到A2单元格
Range("A1").Copy Range("A2")

7. 全部数据

详情可见完整代码

参考地址:
[1] https://docs.microsoft.com/zh-cn/office/client-developer/excel/excel-home?redirectedfrom=MSDN
该代码仅供学习,如商业转载请联系本人,非商业转载请注明出处
如有错误,望批评指正,谢谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木易:_/

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值