永发信息网

EXCEL VBA编写代码提取的数据?

答案:3  悬赏:0  手机版
解决时间 2021-03-19 06:43
EXCEL VBA编写代码提取的数据?
最佳答案
答:
Sub today()
    Dim Cell As Range, Cell3 As Range, IDRng As Range
    Dim Color As New Collection, Size As New Collection
    Dim i As Long, j As Long
    Dim ID As Long
    
    Set Cell = Sheets("Sheet4").Range("B2")
    Set Cell3 = Sheets("Sheet3").Range("D2")
    With Sheets("Sheet2")
        Set IDRng = .Range("G2:G" & .Cells(Rows.Count, "G").End(xlUp).Row)
    End With
    On Error Resume Next
    Do Until IsEmpty(Cell)
        If Cell <> Cell.Offset(1, 0) Then
            ID = Cell.Value
            Color.Add Split(Cell.Offset(0, 1), "+")(0), CStr(Split(Cell.Offset(0, 1), "+")(0))
            Size.Add Split(Cell.Offset(0, 1), "+")(1), CStr(Split(Cell.Offset(0, 1), "+")(1))
            For i = 1 To Color.Count
                ''依次填入不重复颜色项---[生成D列值]
                Cell3 = Color.Item(i)
                ''根据颜色项和goodsid,到Sheet2中查找specid---[生成C列值]
                For j = 1 To IDRng.Count
                    If IDRng.Cells(j, 1) = ID And IDRng.Cells(j, 1).Offset(0, -4) = "颜色" Then
                        Cell3.Offset(0, -1) = IDRng.Cells(j, 1).Offset(0, -6)
                        Exit For
                    End If
                Next
                ''---[生成F列值]
                Cell3.Offset(0, 2) = 1
                ''---[生成G列值]
                Cell3.Offset(0, 3) = i - 1
                Set Cell3 = Cell3.Offset(1, 0)
            Next
            For i = 1 To Size.Count
                Cell3 = Size.Item(i)
                For j = 1 To IDRng.Count
                    If IDRng.Cells(j, 1) = ID And IDRng.Cells(j, 1).Offset(0, -4) = "尺码" Then
                        Cell3.Offset(0, -1) = IDRng.Cells(j, 1).Offset(0, -6)
                        Exit For
                    End If
                Next
                Cell3.Offset(0, 2) = 1
                Cell3.Offset(0, 3) = i - 1
                Set Cell3 = Cell3.Offset(1, 0)
            Next
            For i = Color.Count To 1 Step -1
                Color.Remove i
            Next i
            For i = Size.Count To 1 Step -1
                Size.Remove i
            Next i
        Else
            Color.Add Split(Cell.Offset(0, 1), "+")(0), CStr(Split(Cell.Offset(0, 1), "+")(0))
            Size.Add Split(Cell.Offset(0, 1), "+")(1), CStr(Split(Cell.Offset(0, 1), "+")(1))
        End If
        Set Cell = Cell.Offset(1, 0)
    Loop
End Sub
全部回答
VBA各种问题帮解决
1
2
3
4
5
6
7

Sub Macro1()
dim years as string
years ="2000"
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.cells.AutoFilter Field:=4, Criteria1:=years
End Sub
以上代码定于years 变量,可根据设置年份
然后选择第一行,生成高级筛选,筛选条件是第四列,筛选内容是变量years
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
砀山县红十字医院这个地址在什么地方,我要处
笔记本触摸板乱动
恒瑞医药的研发副总裁是谁
南京哪个地方可以买到鲜咸手工挂面啊
JAVA编程将华氏温度转换为摄氏温度
我股票买价24.7,现在12.6亏了百分之几啊?怎
有一部还算老的电影 讲的是一只狗跟菩萨许愿
格瑞恩电脑地址在什么地方,想过去办事
求大神指教:刷了独舞的TT,开启NFS后WIN7为
安徽大学中文专业研究生难考吗?最近几年竞争
美国鞋码,2Y,12C,11.5M little kid各是多
语文五年级上册语文百花园四的名人名言有哪些
什么东西时间越长越好?(物质)
南国大道中怎么去啊,有知道地址的么
怎样查询一个企业的综合评价?
推荐资讯
如果把闹钟的时针用手旋转二分之一圈,请问这
为何晚上男人上厕所次数比女人多?
两块一斤,一两多少钱
古法琉璃地址在什么地方,想过去办事
晓康轩达汽车服务中心这个地址在什么地方,我
建秋超市这个地址在什么地方,我要处理点事
广字头下面一个虫
疯狂猜成语3太师府第六题怎么过
商业的本质 什么是商业本质的“本质”
男孩子叫李什么好听啊
金阳世纪城地中海水汇怎么样
蓝月亮厕宝含磷吗?会不会对地下水造成污染,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?