Excel精英培训网

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

[已解决]vba程序急需续!!!!!!!!!

[复制链接]
发表于 2012-8-16 20:17 | 显示全部楼层 |阅读模式
vba程序急需续!!!!!!!!!
最佳答案
2012-8-16 20:27
  1. Sub a()
  2.     Dim d As Object
  3.     Dim i%, j%, arr, brr()
  4.     Set d = CreateObject("scripting.dictionary")
  5.     arr = Sheet3.Range("a1").CurrentRegion
  6.     For i = 2 To UBound(arr)
  7.         d(arr(i, 1)) = arr(i, 2)
  8.     Next i
  9.     Erase arr
  10.     arr = Sheet2.Range("a2").Resize(Cells(Rows.Count, 1).End(3).Row - 1)
  11.     ReDim brr(1 To UBound(arr), 1 To 1)
  12.     For j = 1 To UBound(arr)
  13.         brr(j, 1) = d(arr(j, 1))
  14.     Next j
  15.     Range("b2").Resize(UBound(brr)) = brr
  16. End Sub
复制代码

物料大类与计划员对应关系.rar

9.42 KB, 下载次数: 35

发表于 2012-8-16 20:23 | 显示全部楼层
不明白什么意思,是要返回第二个工作表样式的结果吗?
回复

使用道具 举报

 楼主| 发表于 2012-8-16 20:27 | 显示全部楼层
hoogle 发表于 2012-8-16 20:23
不明白什么意思,是要返回第二个工作表样式的结果吗?

第一个表的b列为结果
回复

使用道具 举报

发表于 2012-8-16 20:27 | 显示全部楼层    本楼为最佳答案   
  1. Sub a()
  2.     Dim d As Object
  3.     Dim i%, j%, arr, brr()
  4.     Set d = CreateObject("scripting.dictionary")
  5.     arr = Sheet3.Range("a1").CurrentRegion
  6.     For i = 2 To UBound(arr)
  7.         d(arr(i, 1)) = arr(i, 2)
  8.     Next i
  9.     Erase arr
  10.     arr = Sheet2.Range("a2").Resize(Cells(Rows.Count, 1).End(3).Row - 1)
  11.     ReDim brr(1 To UBound(arr), 1 To 1)
  12.     For j = 1 To UBound(arr)
  13.         brr(j, 1) = d(arr(j, 1))
  14.     Next j
  15.     Range("b2").Resize(UBound(brr)) = brr
  16. End Sub
复制代码

评分

参与人数 1 +12 收起 理由
gdsgzhrsh + 12 加个注释,肯定拿最佳

查看全部评分

回复

使用道具 举报

发表于 2012-8-16 20:33 | 显示全部楼层
请查看附件。

【已完成】物料大类与计划员对应关系.rar

11.48 KB, 下载次数: 52

回复

使用道具 举报

发表于 2014-3-1 15:16 | 显示全部楼层
不懂耶,怎么参与讨论,完成任务嘛
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 23:58 , Processed in 0.747681 second(s), 18 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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