vb操作电子表格 文件夹内多表格 提取数据 在生成一个新表格
Private Sub 生成电子表格汇总表_Click()
Dim xlApp As New Excel.Application '定义并创建EXCEL对象
 Dim xlBook As New Excel.Workbook '创建工作簿
 Dim I As Integer
 Dim ger As New Excel.Workbook '创建工作簿
 I = 7
 Dim sfzh, gjz As String
 xlApp.DisplayAlerts = False
 xlApp.Visible = True '让Excel可见
 Set xlBook = xlApp.Workbooks.Open(App.Path & “/清算人员汇总表.xls”) '打开Excel模板
 Dim fso As Object, fd As Object, f As Object
 Set fso = CreateObject(“Scripting.FileSystemObject”)
 Set fd = fso.GetFolder(“D:\清算人员”)
 For Each f In fd.Files
 '这里是对遍历出的每个文件进行操作
 '其中f.Name是文件名,f.Path是文件路径,
 'f.Size是文件大小,f.Type是文件类型,等等
 '为了防止卡顿,可以在这个循环里用下面这行:
 'DoEvents
 I = I + 1
 wjm = f.Name
 Set ger = xlApp.Workbooks.Open(“D:\清算人员/” & f.Name) '打开个人表
 xlBook.ActiveSheet.Range(“b” & I & “”) = ger.ActiveSheet.Range(“b5”) '姓名
 xlBook.ActiveSheet.Range(“c” & I & “”) = ger.ActiveSheet.Range(“g5”) '身份证
 xlBook.ActiveSheet.Range(“d” & I & “”) = ger.ActiveSheet.Range(“j5”) '状态
 xlBook.ActiveSheet.Range(“c” & I & “”) = ger.ActiveSheet.Range(“g5”) '身份证
 xlBook.ActiveSheet.Range(“e” & I & “”) = ger.ActiveSheet.Range(“n5”) '清算时间
 xlBook.ActiveSheet.Range(“G” & I & “”) = ger.ActiveSheet.Range(“d11”) '计划缴费工资
 xlBook.ActiveSheet.Range(“H” & I & “”) = ger.ActiveSheet.Range(“e11”) '实际发放 发放金额
 xlBook.ActiveSheet.Range(“M” & I & “”) = ger.ActiveSheet.Range(“K11”)
 xlBook.ActiveSheet.Range(“N” & I & “”) = ger.ActiveSheet.Range(“L11”)
 xlBook.ActiveSheet.Range(“O” & I & “”) = ger.ActiveSheet.Range(“M11”)
ger.Close
 '‘ger = Nothing
 Next
 Set fd = Nothing
 Set fso = Nothing
If Dir(“D:\医院清算人员汇总表.xls”) <> “” Then
 Kill “D:\医院清算人员汇总表.xls”
 End If
 '‘ActiveWorkbook.SaveAs FileName:=“D:医院清算人员汇总表.xls”
 xlBook.SaveAs FileName:=“D:\医院清算人员汇总表.xls”
 xlBook.Close
 Set xlBook = Nothing
 xlApp.Quit
 Set xlApp = Nothing
 L:
 End Sub
