excel图表跨多工作表查询数据

2020年8月6日 分类:Excel 作者:企业网盘

Excel跨多个工作表查询数据,用公式不好统计,尤其是遇到不断增加工作表的情况,比如:

上图中,要根据订货单号选择相应的货名、数量、单位、单价等信息。而这些订货单号对应货名等分布在不同的9个工作表中,而且工作表还在不断增加。

在这种情况下,公式显得有些苍白无力,就需要用VBA来完成跨表查询。

实现效果如下:

VBA实现

在代码窗口中输入以下代码(建议横屏观看):

Sub 多表查询()

Dim i%, k%

Dim irow%, icol%

Dim sht As Worksheet

Range(“a5:e200”).Clear ‘清除a5到e200区域中的数据,此处200可根据数据行多少改变

k = 1

Application.ScreenUpdating = False

For Each sht In Worksheets

If sht.Name <> ActiveSheet.Name Then      ‘当工作表不是当前工作时,执行以下语句

With sht

            irow = .Cells(.Rows.Count, 1).End(xlUp).Row             ‘当前工作表数据行数

icol = .Cells(1, .Columns.Count).End(xlToLeft).Column        ‘当前工作表数据列数

For i = 1 To irow

                If .Cells(i, 1).Value = Sheets(1).Cells(2, 5).Value Then  ‘当前工作表是第一列i行数据与sheet1工作表E2单元格数值相同时

.Cells(i, 2).Resize(1, icol).Copy Sheets(1).Cells(4 + k, 1)   ‘将第i行数据复制到sheet1工作表第4+k行

k = k + 1

                End If

            Next i

        End With

End If

Next

Application.ScreenUpdating = True

End Sub

如下图:

阅读已结束,喜欢的话就点个赞吧
注册坚果云网盘
还有其他问题,可以咨询小坚果咨询小坚果
继续阅读