tft每日頭條

 > 職場

 > excelvba如何查詢表數據

excelvba如何查詢表數據

職場 更新时间:2024-07-28 06:30:02

  問題情景 Excel跨多個工作表查詢數據,用公式不好統計,尤其是遇到不斷增加工作表的情況,比如:

  

  上圖中,要根據訂貨單号選擇相應的貨名、數量、單位、單價等信息。而這些訂貨單号對應貨名等分布在不同的9個工作表中,而且工作表還在不斷增加。

  在這種情況下,公式顯得有些蒼白無力,就需要用VBA來完成跨表查詢。實現效果如下:

  excelvba如何查詢表數據(ExcelVBA--根據訂單号跨多工作表查詢數據)(2)

  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

  如下圖:

  excelvba如何查詢表數據(ExcelVBA--根據訂單号跨多工作表查詢數據)(3)

  如果不知道“按訂貨單号查詢”按鈕怎麼設置,可參考文章Excel | 讓“宏”來替你做重複動作

  ------------------------------------------

  -----------------------------------------

  加入圈子,一起學習office吧!

  ,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关職場资讯推荐

热门職場资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved