Excel精英培训网

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

[已解决]VBA代码求助

[复制链接]
发表于 2012-1-15 00:22 | 显示全部楼层 |阅读模式
请老师看一下,如何写这个VBA代码 VBA代码求助.rar (14.27 KB, 下载次数: 25)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-1-15 08:51 | 显示全部楼层    本楼为最佳答案   
  1. Sub aa()
  2.     Dim arr
  3.     Dim arr2
  4.     Dim d As New Dictionary
  5.     Dim i As Long
  6.     arr = Range("a2:b" & Range("b65536").End(xlUp).Row)
  7.     For i = 1 To UBound(arr, 1)
  8.         If Not d.Exists(arr(i, 1)) = True Then
  9.             Set d(arr(i, 1)) = New Dictionary
  10.             d(arr(i, 1))(arr(i, 2)) = ""
  11.         Else
  12.             d(arr(i, 1))(arr(i, 2)) = ""
  13.         End If
  14.     Next i
  15.     ReDim arr2(0 To d.Count - 1, 1 To 2)
  16.     For i = 0 To d.Count - 1
  17.         arr2(i, 1) = d.Keys(i)
  18.         'arr2(i, 2) = Join(d.Items(i).Keys, ",")
  19.         arr2(i, 2) = d.Items(i).Keys
  20.     Next i
  21.     'Range("k2").Resize(d.Count, 2) = arr2
  22.     Range("D19").Resize(UBound(arr2) + 1, 1) = arr2
  23.     For i = 1 To UBound(arr2) + 1
  24.         Cells(18 + i, 5).Resize(1, UBound(arr2(i - 1, 2)) + 1) = arr2(i - 1, 2)
  25.     Next i
  26. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-1-15 08:58 | 显示全部楼层
sunjing-zxl 发表于 2012-1-15 08:51

谢谢,真是高手呀.辛苦了.达到要求
回复

使用道具 举报

发表于 2012-1-15 18:28 | 显示全部楼层
高手                                                
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 01:04 , Processed in 0.481219 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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