Excel精英培训网

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

[已解决]求大神将A工作表和B工作表的内容合并到C工作表的函数公式或vba代码

[复制链接]
发表于 2017-4-25 23:05 | 显示全部楼层 |阅读模式
表格合并.rar (6.34 KB, 下载次数: 14)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-4-26 16:33 | 显示全部楼层    本楼为最佳答案   
  1. Sub 合并()
  2.     arr = Sheets(1).[a1].CurrentRegion
  3.     brr = Sheets(2).[a1].CurrentRegion
  4.     Set d = CreateObject("scripting.dictionary")
  5.     Set d1 = CreateObject("scripting.dictionary")
  6.     For i = 2 To UBound(arr)
  7.         d(arr(i, 1)) = d(arr(i, 1)) & "," & i
  8.     Next
  9.     For i = 2 To UBound(brr)
  10.         d1(brr(i, 1)) = d1(brr(i, 1)) & "," & i
  11.     Next
  12.     ReDim crr(1 To UBound(arr) + UBound(brr), 1 To 5)
  13.     [a2:e65536].Clear
  14.     For Each x In d.keys
  15.         xrr = Split(d(x), ","): n1 = UBound(xrr)
  16.         yrr = Split(d1(x), ","): n2 = UBound(yrr)
  17.         nmax = Application.Max(n1, n2)
  18.         Cells(n + 2, 1).Resize(nmax).Merge
  19.         Cells(n + 2, 2).Resize(nmax).Merge
  20.         For k = 1 To nmax
  21.             n = n + 1
  22.             If k <= n2 Then
  23.                 k2 = yrr(k)
  24.                 crr(n, 1) = brr(k2, 1)
  25.                 crr(n, 2) = brr(k2, 2)
  26.                 crr(n, 3) = brr(k2, 3)
  27.             End If
  28.             If k <= n1 Then
  29.                 k1 = xrr(k)
  30.                 crr(n, 4) = arr(k1, 2)
  31.                 crr(n, 5) = arr(k1, 3)
  32.             End If
  33.         Next
  34.     Next
  35.     [a2].Resize(n, 5) = crr
  36.     [a2].Resize(n, 5).Borders.LineStyle = 1
  37. End Sub
复制代码

表格合并.rar

17.51 KB, 下载次数: 27

评分

参与人数 1 +9 收起 理由
today0427 + 9 数组字典方法和我想的一样 哈哈哈好荣幸

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-4-29 09:10 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2017-4-29 11:41 | 显示全部楼层
在前面的问题上追加提问:如果A表多加一列,B表多加10列这样的数据,请问大神怎么改代码,新手求教。
回复

使用道具 举报

发表于 2017-8-8 14:29 | 显示全部楼层
学习了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 05:03 , Processed in 0.402137 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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