您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: