vba中对活动数据筛选统计

Option Explicit
Sub 返利在手剁手不愁()
Dim b As Workbook, i%, j2%, j3%, j4%, j5%
    Set b = Workbooks.Open("C:\Users\admin\Desktop\返利在手,剁手不愁.csv")
    b.Activate
    Windows("返利在手,剁手不愁.csv").Activate
'把B列剪切到E列前面并删除A列
    Worksheets(1).Columns("B:B").Cut
    Worksheets(1).Columns("E:E").Insert Shift:=xlToRight
    Columns("A:A").Delete
    
'把消费元宝总数量少于10000的行全部删除
    i = 1
    Do While Cells(i, 5) <> ""
        If Cells(i, 5).Value < 10000 Then
            Rows(i).Delete
            i = i - 1
        End If
        i = i + 1
    Loop
'添加4张子表,并把C列剪切到B列前面
Worksheets.Add after:=Worksheets(1), count:=4
Worksheets(2).Name = "10000~39999"
Worksheets(3).Name = "40000~69999"
Worksheets(4).Name = "70000~99999"
Worksheets(5).Name = "120000及以上"

i = 2
j2 = 2: j3 = 2: j4 = 2: j5 = 2
'判断取值范围并把数据复制到其他相对应的子表
Do While Worksheets(1).Cells(i, 5) <> ""
    If Worksheets(1).Cells(i, 5) >= 10000 And Worksheets(1).Cells(i, 5) <= 39999 Then
        Worksheets(2).Cells(j2, 1) = Worksheets(1).Cells(i, 1)
        Worksheets(2).Cells(j2, 2) = Worksheets(1).Cells(i, 2)
        j2 = j2 + 1
    ElseIf Worksheets(1).Cells(i, 5) >= 40000 And Worksheets(1).Cells(i, 5) <= 69999 Then
        Worksheets(3).Cells(j3, 1) = Worksheets(1).Cells(i, 1)
        Worksheets(3).Cells(j3, 2) = Worksheets(1).Cells(i, 2)
        j3 = j3 + 1
    ElseIf Worksheets(1).Cells(i, 5) >= 70000 And Worksheets(1).Cells(i, 5) <= 99999 Then
        Worksheets(4).Cells(j4, 1) = Worksheets(1).Cells(i, 1)
        Worksheets(4).Cells(j4, 2) = Worksheets(1).Cells(i, 2)
        j4 = j4 + 1
    ElseIf Worksheets(1).Cells(i, 5) >= 120000 Then
        Worksheets(5).Cells(j5, 1) = Worksheets(1).Cells(i, 1)
        Worksheets(5).Cells(j5, 2) = Worksheets(1).Cells(i, 2)
        j5 = j5 + 1
    End If
    
    i = i + 1
Loop
End Sub

posted @ 2021-12-08 10:26  orientObject  阅读(385)  评论(0)    收藏  举报