主页 综合精选
文章详情页

excelvba如何查询表数据

  • 发表于2023-09-27
  • 问题情景

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

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

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

    VBA实现

    在代码窗口中输入以下代码:

    Sub 多表查询()Dim i%, k%Dim irow%, icol%Dim sht As WorksheetRange(a5:e200).Clear   清除a5到e200区域中的数据,此处200可根据数据行多少改变k = 1Application.ScreenUpdating = FalseFor 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 IfNextApplication.ScreenUpdating = TrueEnd Sub

    如下图:

      本文标题:excelvba如何查询表数据

      本文链接:https://www.enjoybar.com/blockchain/wz/543599.html

      文章合集

      资讯推荐

      热点资讯

      猜你喜欢