效果图:
对应的代码入下:
对应的代码入下:
Sub getColumn()
Dim work1 As Workbook
Dim path, keyWord As String
Dim fileContent As String
Dim unFoundCol As String
' 指定检索的目录
path = ThisWorkbook.Sheets(2).Range("F1").Value
'指定的检索文字列
keyWord = ThisWorkbook.Sheets(2).Range("F2").Value
If IsEmpty(path) Then
MsgBox ("请输入路径")
Exit Sub
End If
If IsEmpty(keyWord) Then
MsgBox ("请输入检索路径")
Exit Sub
End If
fileContent = searchKeyWord(path, keyWord)
MsgBox ("检索完成")
End Sub
' 检索函数
Function searchKeyWord(path, keyWord)
Dim j As Integer
Dim MyFile, MyPath, MyName
Dim file() As String
Dim Wb As Workbook, Ws As Worksheet, FN$
Dim i, k, x
j = 6
i = 1
k = 1
x = 1
ReDim file(1 To i)
file(1) = path & "\"
Do Until i > k
FN = Dir(file(i), vbDirectory) '获取文件夹下的文件
Do Until FN = ""
If InStr(FN, ".") = 0 Then '如果是个文件夹,则将该文件夹添加到检索目录里
k = k + 1
ReDim Preserve file(1 To k)
file(k) = file(i) & FN & "\"
Else
If InStr(FN, ".xls") > 0 Then
Set Wb = GetObject(file(i) & "\" & FN) 'OPEN File
With Wb
For Each Ws In .Worksheets '循环每个sheet检索
With Ws
If WorksheetFunction.CountIf(.UsedRange, "*" & keyWord & "*") <> 0 Then '在每个sheet的活动区检索文字列
ThisWorkbook.Sheets(2).Range("A" & j).Value = file(i)
ThisWorkbook.Sheets(2).Range("B" & j).Value = FN
ThisWorkbook.Sheets(2).Range("C" & j).Value = Ws.Name '检索到输出,可以改成自己想要的格式
j = j + 1
GoTo nextFound
End If
End With
Next Ws
End With
Wb.Close False '关闭excel文件不保存
End If
End If
nextFound: FN = Dir '检索下一个文件
Loop
i = i + 1
Loop
End Function
- 大小: 45.9 KB
分享到:
相关推荐
解压文件,将其导入Excel VBA,可实现对指定目录及其子目录所有文件的列表,文件列表结果出现在活动表单中
Excel VBA批量复制文件到指定目录
该Excel VBA工具可以列出指定目录下所有子目录和文件, 还可以过滤不要的目录,文件,指定匹配的目录和文件。
Excel VBA工具 可以指定条件, 列出某个文件夹下所有子文件夹和文件
压缩文件中包括一个包含宏代码的Excel文件Sheet Macros.xls以及其他四个测试文件工作表 1~4。...(2)创建新的worksheet的同时,要把某指定目录下与新的worksheet同名的Excel文件的内容copy到新的worksheet中去。
VBA Excel help Document
2、excel表格保留一行标题行,并把第一列数据填写为拆分项(文件拆分时将按第一列的内容进行归类合并为一个文件),整个表格不要合并单元格; 3、在打开的EXCEL工作表名称上点右键选择查看代码; 4、选择菜单栏:...
在word通过VBA打开excel数据文件 可以将excel的内容作为word doc文件读取的代码
VBA示例之 求人不如自已动手 下载文件到指定目录,供初学者参考,大牛勿进~~~~~~~
在Excel表中通过VBA编码,制做了一个小程序,功能是"修改指定文件夹包括子文件中文件后缀名".说明:Excel表的sheel1列A中存放了后缀名,不能删除。否则窗口中的下拉框没有值。该程序的特点是用VBA调用外部批处理代码...
Excel2010_VBA离线帮助文件.chm
这是我个人运用Excel VBA在EXcel中实现的提取单元格中特定文字,并用”.“来标注此单元格是否存在这个字符的小程序。
excel中不打开文件调用其它文件数据(VBA)
EXCEL VBA 读取文本文件宏EXCEL VBA 读取文本文件宏EXCEL VBA 读取文本文件宏
excel VBA获取EXCEL中的行数和列数.
本资源实现了用VBA(宏)代价遍历文件夹中的csv文件,修改代码也可遍历其他格式的excel文件,并实现了将遍历的结果整合到一个新的excel文件中。
vba函数说明,几乎所有vba函数的说明及实例
EXCEL VBA PDF 1.使用CreateObject("Wscript.Shell").Run("pdf文件路径") 2.可以使用foxit Activex 或者 adobe 的activex workbookS.open("PDF的路径")
Excel中用VBA导出指定扩展名对应图标
可以实现多个子文件夹内的excel文件合并,将每个excel内容汇总到一张表里。