用vb查询excel整个工作表每个工作表中T列包含13NG或者15NG的值整行汇总到最后一个表中
以下是用VB实现的代码,可以实现查询Excel整个工作表,每个工作表中T列包含13NG或者15NG的值,然后将整行汇总到最后一个表中:
Sub QueryExcel()
Dim wb As Workbook
Dim ws As Worksheet
Dim wsLast As Worksheet
Dim rng As Range
Dim cel As Range
Dim lastRow As Long
Dim i As Long
Dim j As Long
Dim k As Long
Set wb = ThisWorkbook
Set wsLast = wb.Sheets(wb.Sheets.Count)
k = 1
For Each ws In wb.Worksheets
If ws.Name <> wsLast.Name Then
lastRow = ws.Cells(Rows.Count, "T").End(xlUp).Row
Set rng = ws.Range("A2:T" & lastRow)
For Each cel In rng
If cel.Value Like "*13NG*" Or cel.Value Like "*15NG*" Then
wsLast.Cells(k, "A").Value = ws.Name
For i = 1 To 20
wsLast.Cells(k, i + 1).Value = cel.Offset(0, i - 1).Value
Next i
k = k + 1
End If
Next cel
End If
Next ws
End Sub
代码中,首先定义了一些变量,包括工作簿、工作表、范围、单元格、行数、计数器等。然后使用For Each循环遍历所有的工作表,如果工作表不是最后一个工作表,则获取T列的最后一行,并将范围设置为A2到T最后一行。接着遍历范围内的每个单元格,如果单元格的值包含13NG或者15NG,则将该行数据汇总到最后一个工作表中。具体做法是将工作表名称写入第一列,然后使用For循环获取该行所有单元格的值,并将其写入最后一个工作表的相应位置。最后,计数器加1,继续查询下一个单元格
原文地址: http://www.cveoy.top/t/topic/crCM 著作权归作者所有。请勿转载和采集!