Excel精英培训网

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

[已解决]求助,关于按条件复制内容问题。。急。。

[复制链接]
发表于 2013-2-17 23:04 | 显示全部楼层 |阅读模式
想实现两表格按相同条件进行复制内容。根据规格。把表2中的数据汇总到表1.
表1
123.jpg
表2
3334.jpg
1.rar (7 KB, 下载次数: 3)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-2-17 23:12 | 显示全部楼层
=VLOOKUP($B2,'2表'!$B:$H,COLUMN(B1),0) 1.rar (11.03 KB, 下载次数: 7)
回复

使用道具 举报

 楼主| 发表于 2013-2-17 23:21 | 显示全部楼层
cbg2008 发表于 2013-2-17 23:12
=VLOOKUP($B2,'2表'!$B:$H,COLUMN(B1),0)

能改成VBA吗。因为真实的表格有几万条。公式这样有点麻烦。。。。谢谢了。。
回复

使用道具 举报

发表于 2013-2-17 23:54 | 显示全部楼层    本楼为最佳答案   
本帖最后由 cbg2008 于 2013-2-18 00:01 编辑
dcybt 发表于 2013-2-17 23:21
能改成VBA吗。因为真实的表格有几万条。公式这样有点麻烦。。。。谢谢了。。
  1. Sub Data_Analysis()
  2.     On Error Resume Next
  3.     Dim Arr_Output, Arr_Input, i&, j&, iRow&
  4.     Dim D As Object
  5.     Application.ScreenUpdating = False
  6.     Arr_Input = Sheets("2表").UsedRange.Value
  7.     Set D = CreateObject("Scripting.Dictionary")
  8.     D.CompareMode = vbTextCompare
  9.     For i = 2 To UBound(Arr_Input)
  10.         D(Arr_Input(i, 2)) = i
  11.     Next
  12.     With Sheets("1表")
  13.         Arr_Output = .UsedRange
  14.         For i = 2 To UBound(Arr_Output)
  15.             iRow = D(Arr_Output(i, 2))
  16.             For j = 7 To 13
  17.                 Arr_Output(i, j) = Arr_Input(iRow, j - 4)
  18.             Next j
  19.         Next i
  20.         .Range("A1").Resize(UBound(Arr_Output), UBound(Arr_Output, 2)) = Arr_Output
  21.     End With
  22.     Application.ScreenUpdating = True
  23.     MsgBox "已填写完毕!"
  24. End Sub
复制代码
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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