搜索并汇总多个工作表中的数据

2024-07-05 13:11:55 浏览数 (2)

标签:VBA

下面的示例搜索工作簿中除工作表“汇总表”外的多个工作表中的数据,将满足条件的数据所在行复制到指定工作表。

代码语言:javascript复制
Sub SearchAndCombineSheets()
 Dim FirstAddress As String
 Dim WhatFor As String
 Dim c As Range
 Dim ws As Worksheet
 
 WhatFor = InputBox("搜索什么数据?", "搜索条件")
 If WhatFor = Empty Then Exit Sub
 For Each ws In Worksheets
   If ws.Name <> "汇总表" Then
     With ws.Columns(7)
       Set c = .Find(WhatFor, LookIn:=xlValues, LookAt:=xlPart)
       If Not c Is Nothing Then
         FirstAddress = c.Address
         Do
           If c.EntireRow.Cells(1, 6).Value > 0 Then
             c.EntireRow.Copy Destination:=Worksheets("汇总表").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
           End If
           Set c = .FindNext(c)
         Loop Until c Is Nothing Or c.Address = FirstAddress
       End If
     End With
   End If
 Next ws
 Set c = Nothing
End Sub

具体讲,运行代码后,将弹出一个信息框,要求输入要搜索的数据,然后在工作簿中除工作表“汇总表”外的其他工作表的第7列搜索这个数据,如果匹配,接着再判断匹配行的第6列的单元格中的数值是否大于0,如果大于0则将该行复制到工作表“汇总表”中。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

0 人点赞