【VBA】在excel中检索文本
Excel 文本 检索 vba
2023-06-13 09:11:59 时间
虽然在excel文件中检索的vba代码不知道写了多少遍了,每次需要的时候,都是从网上找,然后写。实在是低效的做法。从网上找了一段代码,放在此处,以后需要的时候可以随手拿来。
Sub SearchFolders()
Dim fso As Objectvb
Dim fld As Object
Dim strSearch As String
Dim strPath As String
Dim strFile As String
Dim wOut As Worksheet
Dim wbk As Workbook
Dim wks As Worksheet
Dim lRow As Long
Dim rFound As Range
Dim strFirstAddress As String
On Error GoTo ErrHandler
Application.ScreenUpdating = False
'Change as desired
strPath = "c:\MyFolder"
strSearch = "Specific text"
Set wOut = Worksheets.Add
lRow = 1
With wOut
.Cells(lRow, 1) = "Workbook"
.Cells(lRow, 2) = "Worksheet"
.Cells(lRow, 3) = "Cell"
.Cells(lRow, 4) = "Text in Cell"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fld = fso.GetFolder(strPath)
strFile = Dir(strPath & "\*.xls*")
Do While strFile <> ""
Set wbk = Workbooks.Open _
(Filename:=strPath & "\" & strFile, _
UpdateLinks:=0, _
ReadOnly:=True, _
AddToMRU:=False)
For Each wks In wbk.Worksheets
Set rFound = wks.UsedRange.Find(strSearch)
If Not rFound Is Nothing Then
strFirstAddress = rFound.Address
End If
Do
If rFound Is Nothing Then
Exit Do
Else
lRow = lRow + 1
.Cells(lRow, 1) = wbk.Name
.Cells(lRow, 2) = wks.Name
.Cells(lRow, 3) = rFound.Address
.Cells(lRow, 4) = rFound.Value
End If
Set rFound = wks.Cells.FindNext(After:=rFound)
Loop While strFirstAddress <> rFound.Address
Next
wbk.Close (False)
strFile = Dir
Loop
.Columns("A:D").EntireColumn.AutoFit
End With
MsgBox "Done"
ExitHandler:
Set wOut = Nothing
Set wks = Nothing
Set wbk = Nothing
Set fld = Nothing
Set fso = Nothing
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description, vbExclamation
Resume ExitHandler
End Sub
参考自:
https://excel.tips.net/T005598_Searching_Through_Many_Workbooks.html
相关文章
- Python办公自动化 | word 文本转 excel
- excel中html批量转化为pdf文件,如何将大量的Excel转换成PDF?
- excel如何去掉换行符号_去掉文本中所有换行符
- excel菜鸟级mysql数据库mysql for excel操作2021.7.23
- 【说站】Excel如何快速删除空行?WPS删除excel空白行
- Python pandas按列拆分Excel为多个文件
- excel导入mysql代码_EXCEL导入Mysql方法「建议收藏」
- 如何将excel中的数据导入mysql_将外部sql文件导入MySQL步骤
- Python xlwt数据保存到 Excel中以及xlrd读取excel文件画图
- Excel数据分析:从入门到精通
- Python 接口测试之Excel表格数据操作方法封装
- 使用POI操作Excel时对事先写入模板的公式强制执行详解编程语言
- 使用POI生成Excel文件,可以自动调整excel列宽详解编程语言
- 传参导出Excel表乱码问题解决方法详解编程语言
- 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题详解编程语言
- 轻松实现Excel导入MySQL数据库(excel导入mysql数据库)
- 导入Excel数据到Oracle数据库(将excel导入oracle数据库)
- 如何使用Excel连接MySQL数据库(excel连接mysql数据库)
- SQL Server数据导出到Excel的方法(sqlserver导出到excel)
- 使用Excel快速读取MySQL数据(excel读取mysql)
- Excel数据快速导入Oracle数据库(excel入oracle)
- 文本、Excel、Access数据导入SQLServer2000的方法
- asp.net下将Excel转成XML档的实现代码
- php读取EXCEL文件phpexcelreader读取excel文件
- ASP.NET导出Excel打开时提示:与文件扩展名指定文件不一致解决方法
- Excel导入数据库时出现的文本截断问题解决方案
- Asp.net中DataTable导出到Excel的方法介绍
- Python读写Excel文件的实例