Excel精英培训网

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

[已解决]提取不重值+汇总+提取最近一次明细,谢谢grf1973老师!

[复制链接]
发表于 2016-7-1 12:46 | 显示全部楼层 |阅读模式
本帖最后由 lhj323323 于 2016-7-2 21:34 编辑

老师:

我的需求是
提取不重值+汇总+提取最近一次明细

目前已实现了前两步,第3个,即提取最近一次明细,我实现不了
请老师帮忙看看,可以怎么修改?
先谢谢了

提取不重复值.rar (14.66 KB, 下载次数: 14)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-7-1 16:52 | 显示全部楼层    本楼为最佳答案   
无需排序,加个判断即可。
  1. Sub 加工()
  2.     Dim Myr%, x%, k%, j%, xkey, p%
  3.     Dim arr, ayy()
  4.     Set d = CreateObject("scripting.dictionary")
  5.     arr = Sheet2.[a1].CurrentRegion
  6.     ReDim ayy(1 To UBound(arr), 1 To 9)
  7.     For x = 2 To UBound(arr)
  8.         xkey = arr(x, 15)
  9.         If Not d.exists(arr(x, 15) * 1) Then
  10.            k = k + 1
  11.            ayy(k, 1) = arr(x, 15)
  12.            ayy(k, 2) = arr(x, 3)
  13.            d(xkey) = k
  14.          End If
  15.          p = d(xkey)
  16.          ayy(p, 4) = ayy(p, 4) + arr(x, 5)
  17.          ayy(p, 6) = ayy(p, 6) + 1
  18.          If Val(arr(x, 1)) > Val(ayy(p, 8)) Then
  19.             ayy(p, 8) = arr(x, 1)
  20.             ayy(p, 9) = arr(x, 6)
  21.         End If
  22.     Next
  23.    
  24.     With Sheet3
  25.      .[a:i].Clear 'Contents
  26.         .[a1:i1] = Array("代码", "股票名称", "历史盈亏", "剩余股数", "扎差金额", "交易次数", "扎差成本", "最近成交日", "最近成交价")
  27.         .Columns("a:a").NumberFormatLocal = "000000"
  28.         .Range("a2").Resize(k, 9) = ayy
  29.         .Select
  30.     End With
  31. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2016-7-2 21:34 | 显示全部楼层
grf1973 发表于 2016-7-1 16:52
无需排序,加个判断即可。

谢谢grf1973老师!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 01:01 , Processed in 0.637198 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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