|
Option Explicit
Sub 汇总数据()
'a表示汇总表行,b表示汇总表列,c表示管理部名称,n表示管理部表列,m表示搜索返回值
'd表示文件夹中索引到的名称
Dim a, b, c, d, n, m
'k表示汇总表,q表示汇总表中的第一张工作表,l表示管理部表,r表示管理部表中的第一张工作表
Dim k As Workbook, q As Worksheet, l As Workbook, r As Worksheet
Set k = Workbooks("管理部数据汇总功能表")
Set q = k.Worksheets(1)
For a = 3 To 22 '搜索管理部名称
c = q.Cells(a, 2)
d = Dir("C:\Users\xy\Desktop\管理部数据汇总\*.xlsx") '索引文件夹下的xlsx文件名称
m = InStr(d, c) '对比是否为需扫描的表格
If m > 0 Then
Set k = Workbooks.Open("C:\Users\xy\Desktop\管理部数据汇总\" & d)
Set r = k.Worksheets(1)
b = 3
n = 2
Do While r.Cells(5, n) <> "" Or r.Cells(4, n) <> ""
q.Cells(a, b) = r.Cells(5, n)
b = b + 1
n = n + 1
Loop
k.Close
End If
Next a
End Sub
d = Dir("C:\Users\xy\Desktop\管理部数据汇总\*.xlsx") '索引文件夹下的xlsx文件名称
有什么方法可以让d在文件夹中找到所有的xlsx文件名,想了好久,还是没办法解决按照赋值给c的名称找到文件夹下的文件。
如果C中的某个文件找不到程序需要跳过,直至扫描完所有的赋值C的有关的所有文件。
求大神帮助
|
|