excel sheet合并 宏初学
2017-09-20 17:52
99 查看
客户提出需求,要求导出表各sheet页之间数据做关联,比如
sheet1 sheet2
A B C
D
1 a
1 f
2 b
3 dd
3 r
2 ge
4 rr
合并成一个sheet,条件为A = C
Private Sub merge(left, right)
Set sh = Worksheets.Add(after:=Worksheets(Worksheets.Count))
sh.Name = left.Name & " AND " & right.Name
Dim rowLeft As Long
Dim rowRight As Long
Dim colLeft As Long
Dim colRight As Long
Dim row As Long
rowLeft = left.UsedRange.Rows.Count
rowRight = right.UsedRange.Rows.Count
colLeft = left.UsedRange.Columns.Count
colRight = right.UsedRange.Columns.Count
row = 1
For i = 1 To rowLeft:
For j = 1 To rowRight:
If left.Cells(i, 1).Value = right.Cells(j, 1) Then
For k = 1 To colLeft + colRight:
If k > colLeft Then
sh.Cells(j, k) = right.Cells(j, k - colLeft)
Else
sh.Cells(j, k) = left.Cells(i, k)
End If
Next
row = row + 1
End If
Next
Next
End Sub
Sub Workbook_open()
Call merge(Sheets("sheet1"), Sheets("sheet2"))
End Sub
sheet1 sheet2
A B C
D
1 a
1 f
2 b
3 dd
3 r
2 ge
4 rr
合并成一个sheet,条件为A = C
Private Sub merge(left, right)
Set sh = Worksheets.Add(after:=Worksheets(Worksheets.Count))
sh.Name = left.Name & " AND " & right.Name
Dim rowLeft As Long
Dim rowRight As Long
Dim colLeft As Long
Dim colRight As Long
Dim row As Long
rowLeft = left.UsedRange.Rows.Count
rowRight = right.UsedRange.Rows.Count
colLeft = left.UsedRange.Columns.Count
colRight = right.UsedRange.Columns.Count
row = 1
For i = 1 To rowLeft:
For j = 1 To rowRight:
If left.Cells(i, 1).Value = right.Cells(j, 1) Then
For k = 1 To colLeft + colRight:
If k > colLeft Then
sh.Cells(j, k) = right.Cells(j, k - colLeft)
Else
sh.Cells(j, k) = left.Cells(i, k)
End If
Next
row = row + 1
End If
Next
Next
End Sub
Sub Workbook_open()
Call merge(Sheets("sheet1"), Sheets("sheet2"))
End Sub
相关文章推荐
- ios 初学之 文件合并 实例:libbaidumapapi.a
- c#初学-delegate合并委托(多路广播委托)一个委托进行多个函数调用
- 初学C常见问题 - 回车后出现几行沾在一起、多行合并在一起的问题
- GIT初学使用(二)- 实验分支的内容如何合并到主分支中
- 初学mysql(五)-数据库之连接查询、子查询和合并查询
- CVS并行版本管理.初学.2-冲突和合并
- 合并两个排好序的链表
- 剑指Offer(25)合并两个排序后的链表
- c++实验6-数组合并
- 初学命令
- java初学必读
- Git学习教程(四):分枝和合并
- Java解析魔兽争霸3录像W3G文件(二):压缩数据块解压合并
- 微信公众平台开发初学
- 多版本中文停用词词表 + 多版本英文停用词词表 + python词表合并程序
- css基础 块级元素嵌套发生的外边距合并问题
- C++第6次上机实验-【项目2:数组合并】
- github上的分支合并
- C# 2.0中的上传多个图片合并及存入数据库的示例
- 两个有序链表合并递归实现及非递归实现