VBA查找文件夹下所有excel文件中的相关数据

发布网友 发布时间:2022-04-20 02:09

我来回答

2个回答

热心网友 时间:2023-07-20 03:30

事实上可以实现的,我给你一个思路,一是遍历所有文件!这是可以办到的,给你一段代码?这个代码我用来遍历文件名称的,根据指定目标找出所有文件!当然还有一个控件我发不上来!
Private Sub filesexcel_Click()
Dim fd As Object
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
'开启Excel内建的资料夹浏览方块
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
If fd.Show = -1 Then
LookIn = fd.SelectedItems(1)
Else
MsgBox "您未选择浏览目标文件夹!", 48, "系统提示": Exit Sub
End If
Sheet1.Range("A4:IV65536").Clear
Application.ScreenUpdating = False
Dim i As Long
Dim strName As String
Dim strNewNme As String
Dim CaZao As New FilesSearch.glFilesSearch
Application.DisplayAlerts = False
With CaZao
.LookIn = fd.SelectedItems(1)
.FileType = FileTypeMicrosoftExcelWorkbooks
'.Filename = "*.xls*" '这里可以打开任何类型的工作簿文件
.SearchSubFolders = True

If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
Sheet1.Range("A" & Sheet1.[A65536].End(xlUp).Row + 1) = i
Sheet1.Range("B" & Sheet1.[A65536].End(xlUp).Row).Hyperlinks.Add Anchor:=Sheet1.Range("B" & Sheet1.[A65536].End(xlUp).Row), Address:=.FoundFiles(i), TextToDisplay:=.FoundFiles(i)
Sheet1.Range("c" & Sheet1.[A65536].End(xlUp).Row) = GetFileType(.FoundFiles(i))
Sheet1.Range("D" & Sheet1.[A65536].End(xlUp).Row) = FileLen(.FoundFiles(i))
Sheet1.Range("E" & Sheet1.[A65536].End(xlUp).Row) = FileDateTime(.FoundFiles(i))
Next i
Else
MsgBox "您选择的目录没有Excel文件!", vbQuestion, Title:="系统信息"
End If
End With

Set CaZao = Nothing
Range("A:A,D:D").Select
Selection.HorizontalAlignment = xlCenter
Sheet1.Range("A4").Select
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub
然后,再增加用循环统计这些表名称旨定单元格的值就行了!而你说的那种,把所有表的某一行找出来,思路是有问题的!而是这些表以行数据的形式存在,然后根据输入的数据在后面显示行的值!有机会我帮做做哦!

热心网友 时间:2023-07-20 03:30

每个文件的表结构是否一样,把结构截个图发上来吧
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com