Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2349|回复: 5

[已解决]提取有資料的部份統計

[复制链接]
发表于 2021-1-4 10:27 | 显示全部楼层 |阅读模式
請教各位前輩如何提取有資料的部份統計,感謝
最佳答案
2021-1-4 15:00
Sub test()
    Call test1
    Call test2
End Sub


'筛选
Sub test1()
    Application.ScreenUpdating = False
    Sheets(2).Select
    Cells.Clear

    Sheets(1).Select
    ActiveSheet.AutoFilterMode = False
    With Range("b2").CurrentRegion
        .AutoFilter Field:=5, Criteria1:="<>"
        .Copy Sheets(2).Range("a1")
        .AutoFilter
    End With

    Sheets(2).Select
End Sub


'求合计
Sub test2()
    Dim i
    Sheets(2).Select
    i = Range("a65536").End(xlUp).Row
    Cells(i + 1, "c") = "合計"
    Cells(i + 1, "d") = "=sum(d2:d" & i & ")"
    Cells(i + 1, "e") = "=sum(e2:e" & i & ")"
End Sub

出貨統計.rar

8.48 KB, 下载次数: 1

发表于 2021-1-4 10:34 | 显示全部楼层
QQ截图20210104103036.jpg

如果从上到下延伸,一个自动筛选,不就能完成需求2么?
回复

使用道具 举报

 楼主| 发表于 2021-1-4 10:54 | 显示全部楼层
本帖最后由 dou10801 于 2021-1-4 10:57 编辑

感謝爱疯版主,表格橫向改直向也可以,麻煩你,謝謝.
出貨統計1.jpg

出貨統計1.rar

8.53 KB, 下载次数: 1

回复

使用道具 举报

发表于 2021-1-4 11:13 | 显示全部楼层
dou10801 发表于 2021-1-4 10:54
感謝爱疯版主,表格橫向改直向也可以,麻煩你,謝謝.

Sub Click()
    Application.ScreenUpdating = False
    Sheets(2).Select
    Cells.Clear

    Sheets(1).Select
    ActiveSheet.AutoFilterMode = False
    With Range("b2").CurrentRegion
        .AutoFilter Field:=5, Criteria1:="<>"
        .Copy Sheets(2).Range("a1")
        .AutoFilter
    End With

    Sheets(2).Select
End Sub

出貨統計2.rar (20.08 KB, 下载次数: 2)
回复

使用道具 举报

 楼主| 发表于 2021-1-4 11:34 | 显示全部楼层
本帖最后由 dou10801 于 2021-1-4 13:20 编辑
爱疯 发表于 2021-1-4 11:13
Sub Click()
    Application.ScreenUpdating = False
    Sheets(2).Select


非常感謝,其中合計數量和合計金額如何計算.再次麻煩你.
回复

使用道具 举报

发表于 2021-1-4 15:00 | 显示全部楼层    本楼为最佳答案   
Sub test()
    Call test1
    Call test2
End Sub


'筛选
Sub test1()
    Application.ScreenUpdating = False
    Sheets(2).Select
    Cells.Clear

    Sheets(1).Select
    ActiveSheet.AutoFilterMode = False
    With Range("b2").CurrentRegion
        .AutoFilter Field:=5, Criteria1:="<>"
        .Copy Sheets(2).Range("a1")
        .AutoFilter
    End With

    Sheets(2).Select
End Sub


'求合计
Sub test2()
    Dim i
    Sheets(2).Select
    i = Range("a65536").End(xlUp).Row
    Cells(i + 1, "c") = "合計"
    Cells(i + 1, "d") = "=sum(d2:d" & i & ")"
    Cells(i + 1, "e") = "=sum(e2:e" & i & ")"
End Sub

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 03:38 , Processed in 0.292288 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表