请写一段VBA代码,帮我解决以下问题:我有一个exl表格,表格中有多个sheet,请在所有sheet中检索“清开灵”,并统计文本“清开灵”出现的次数,将结果写入到sheet2中。
时间: 2024-02-11 19:03:50 浏览: 88
好的,以下是可以解决你的问题的VBA代码:
```
Sub FindAndCount()
Dim ws As Worksheet, ws2 As Worksheet
Dim count As Integer
Dim i As Integer, j As Integer
Set ws2 = ThisWorkbook.Sheets("Sheet2") '将结果写入Sheet2
ws2.Range("A1").Value = "Sheet Name"
ws2.Range("B1").Value = "Count"
i = 2 '从第二行开始写入结果
For Each ws In ThisWorkbook.Worksheets
count = 0 '每个sheet的计数器初始化
For j = 1 To ws.UsedRange.Rows.Count '遍历每一行
If InStr(1, ws.Cells(j, 1).Value, "清开灵") > 0 Then '检索文本
count = count + 1 '计数器加1
End If
Next j
ws2.Cells(i, 1).Value = ws.Name '写入sheet名
ws2.Cells(i, 2).Value = count '写入计数结果
i = i + 1 '下一行
Next ws
End Sub
```
这段代码会遍历所有的sheet,检索文本“清开灵”,并统计出现的次数,最终将结果写入到sheet2中。你可以将该代码复制到VBA编辑器中,然后按F5运行即可。
阅读全文