Excel精英培训网

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

求助:把Table 1的数据,转换成表2的式样,请老师帮忙?谢谢!

[复制链接]
发表于 2022-5-23 20:55 | 显示全部楼层 |阅读模式
求助:把Table1的数据,转换成表2的式样,请老师帮忙?谢谢!

BOOK1.rar

15.24 KB, 下载次数: 5

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2022-5-23 22:06 | 显示全部楼层
回复

使用道具 举报

发表于 2022-5-24 13:09 | 显示全部楼层
jiali0208 发表于 2022-5-23 22:06
请求各位老师和大侠帮助下!


請測試看看,謝謝

Sub test()
Dim Arr, xD, Brr(1 To 30, 1 To 6), T0$, T, n%, s&, s2&, R&, ky, i&, j%
Application.DisplayAlerts = False
Set xD = CreateObject("Scripting.Dictionary")
Arr = Sheet1.[a1].CurrentRegion
For i = 2 To UBound(Arr)
    T = Arr(i, 1)
    If InStr(T, "客") Then: s = 0: T0 = Split(T, ":")(1): GoTo 95
    If UCase(Left(Arr(i, 2), 1)) = "Z" Then
        n = n + 1: s = s + 1
        Brr(n, 1) = T0: Brr(n, 2) = Brr(n, 2) + s & " EA type"
        Brr(n, 3) = Arr(i, 3): Brr(n, 4) = Arr(i, 4)
        Brr(n, 5) = Arr(i, 6): Brr(n, 6) = Arr(i, 10)
        xD(T0) = Brr(n, 2)
    End If
95: Next
s = 0
For i = 1 To n
    Brr(i, 2) = xD(Brr(i, 1))
    s = Brr(i, 5) + s: s2 = Brr(i, 6) + s2
Next
xD.RemoveAll
With Sheet2
    R = .[b65536].End(3).Row
    If R > 4 Then .Range("b5:g" & R).Delete
    .[b5].Resize(n, 6) = Brr
    For j = 2 To 1 Step -1
        For i = 1 To n
            T = Brr(i, j)
            If xD.Exists(T) Then
                Set xD(T) = Union(xD(T), .Cells(i + 4, j + 1))
            Else
                Set xD(T) = .Cells(i + 4, j + 1)
            End If
        Next
        For Each ky In xD.keys
            xD(ky).Merge
        Next
        xD.RemoveAll: T = ""
    Next
    .[d3] = "共" & n & " EA type"
    .[f3] = s: .[g3] = s2
End With
Application.DisplayAlerts = True
End Sub


1.JPG
回复

使用道具 举报

 楼主| 发表于 2022-5-24 16:35 | 显示全部楼层
sam-wang 发表于 2022-5-24 13:09
請測試看看,謝謝

Sub test()

收到,谢谢老师,非常感谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-16 14:10 , Processed in 0.221567 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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