Excel怎样把多个工作表同字段不同位置数据汇总

2025-10-11 11:13:04

1、公交公司处理个税方面,需要取到工资表中所有工作表的人名、银行账户、实发工资及暂扣款项。线路众多,且由于人力资源提供的表格经常错位,例如1路的实发的工资在BP列,而69路的实发工资则在BM列,线路众多。将怎样处理?

Excel怎样把多个工作表同字段不同位置数据汇总

Excel怎样把多个工作表同字段不同位置数据汇总

2、工资表内容,其他路一样,字段位置有不一样。

Excel怎样把多个工作表同字段不同位置数据汇总

Excel怎样把多个工作表同字段不同位置数据汇总

Excel怎样把多个工作表同字段不同位置数据汇总

Excel怎样把多个工作表同字段不同位置数据汇总

Excel怎样把多个工作表同字段不同位置数据汇总

3、汇总表内容: 

Excel怎样把多个工作表同字段不同位置数据汇总

1、首先打开Microsoft Office Excel 2007,上例文件另存为文件名《Excel怎样把多个工作表同字段不同位置数据汇总 .xlsm》(演示文件,下面代码复制到能运行宏的工作簿都可以)如图,由于考虑到个人隐私,列举行2条线路,并处理过的数据。

Excel怎样把多个工作表同字段不同位置数据汇总

2、然后按下快捷键ALT+F11打开VBE(宏)编辑界面,然后点菜单栏【插入】下拉中列表中点【模块(M)】如图。

Excel怎样把多个工作表同字段不同位置数据汇总

3、然后插入了一个模块1,在代码框中复制如下代码:

Sub 根据字段汇总表()

    '2020-10-8 21:03:58

    Dim sh As Worksheet, msh As String, mb(1 To 19), i As Long, r As Long, rn As Long, rm As Long

    Dim myr As Range

    msh = ActiveSheet.Name

    mb(2) = Cells(1, 2).Text

    mb(3) = Right(Cells(1, 3).Text, 2)

    mb(4) = Left(Cells(1, 4).Text, 1)

    For i = 5 To 18

        mb(i) = Cells(2, i).Text

    Next i

    mb(19) = Cells(1, 19).Text

    r = 3

    Application.ScreenUpdating = False

    For Each sh In ActiveWorkbook.Sheets

        If Right(sh.Name, 1) = "路" Then

            sh.Select

            rn = Range("B" & Rows.Count).End(xlUp).Row

            If rn < 5 Then Exit For

            If r = 3 Then

                ActiveWorkbook.Sheets(msh).Range("a" & r & ":a" & rn - 4 + r).Value = sh.Name

            Else

                ActiveWorkbook.Sheets(msh).Range("a" & r & ":a" & rn - 5 + r).Value = sh.Name

            End If

            For i = 2 To 19

                Set myr = Cells.Find(What:=mb(i))

                If Not myr Is Nothing Then

                    rm = myr.Column

                    Range(Cells(5, rm), Cells(rn, rm)).Copy

                    ActiveWorkbook.Sheets(msh).Cells(r, i).PasteSpecial Paste:=xlPasteValues, Operation _

                    :=xlNone, SkipBlanks:=False, Transpose:=False

                End If

            Next i

            r = ActiveWorkbook.Sheets(msh).Range("B" & Rows.Count).End(xlUp).Row + 1

        End If

    Next sh

    Application.ScreenUpdating = True

    ActiveWorkbook.Sheets(msh).Select

End Sub

Excel怎样把多个工作表同字段不同位置数据汇总

Excel怎样把多个工作表同字段不同位置数据汇总

4、以上操作动态过程如下:

Excel怎样把多个工作表同字段不同位置数据汇总

5、回到工作表窗口,注意表“汇总表”为当前窗口,并且工资表名最后要“路”,然后运行【根据字段汇总表】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名,执行),输出各路线结果,运行过程如下图。

Excel怎样把多个工作表同字段不同位置数据汇总

Excel怎样把多个工作表同字段不同位置数据汇总

Excel怎样把多个工作表同字段不同位置数据汇总

Excel怎样把多个工作表同字段不同位置数据汇总

Excel怎样把多个工作表同字段不同位置数据汇总

6、如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢