ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
123
返回列表 发新帖

混凝土强度报告的汇总,怎么把很多份强度报告中我需要的信息提取出来,并汇总到汇...

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-30 17:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
lsc900707 发表于 2016-8-30 10:14
你要把数据汇总这个工作簿放在你的汇总文件夹里才行呀,汇总前先清除所汇总的内容再点击按钮。>>>>>>>

还请教一下,这个[G4],6,20是什么意思啊
  1. Sub 汇总()
  2. Dim wb As Workbook, myfile$, s&
  3. Application.ScreenUpdating = False
  4. myfile = Dir(ThisWorkbook.Path & "\1" & "\*.xls")
  5. s = 1
  6. Do While myfile <> ""
  7.         s = s + 1
  8.         Set wb = GetObject(ThisWorkbook.Path & "\1" & myfile)
  9.         With wb.Sheets(2)
  10.             Cells(s + 2, 1) = Mid(.[G4], 6, 20) & .[K4]
  11.             Cells(s + 2, 2) = .[C5]
  12.             Cells(s + 2, 3) = .[C12]
  13.             Cells(s + 2, 4) = .[B12]
  14.             Cells(s + 2, 8) = .[D12]
  15.             Cells(s + 2, 9) = .[K12]
  16.         End With
  17.         wb.Close False
  18.     myfile = Dir
  19. Loop
  20. Application.ScreenUpdating = True

  21. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2016-8-30 17:28 | 显示全部楼层
被枫带走的记忆 发表于 2016-8-30 17:09
还请教一下,这个[G4],6,20是什么意思啊

Mid(.[G4], 6, 20),从G4单元格第6个字符开始,向右取20个字符

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-30 18:10 | 显示全部楼层
LMY123 发表于 2016-8-30 17:28
Mid(.[G4], 6, 20),从G4单元格第6个字符开始,向右取20个字符

哦,知道了,谢谢哈

TA的精华主题

TA的得分主题

发表于 2018-7-27 11:27 | 显示全部楼层
  1. Sub ADO加数组复习()
  2.   t = Timer
  3.   Dim Fso As Object, File As Object, cnn As Object, rs As Object, SQL$, m&, arr()
  4.   Set Fso = CreateObject("Scripting.FileSystemObject")
  5.   ReDim arr(1 To Fso.GetFolder(ThisWorkbook.Path & "\混凝土报告").Files.Count, 1 To 12)
  6.   For Each File In Fso.GetFolder(ThisWorkbook.Path & "\混凝土报告").Files
  7.   If File.Name Like "*.xls" Then
  8.     m = m + 1
  9.     Set cnn = CreateObject("ADODB.Connection")
  10.     cnn.Open "Provider=Microsoft.ace.OLEDB.12.0;Extended Properties='Excel 12.0;hdr=no';Data Source=" & File
  11.     Set rs = cnn.Execute("[1$G4:K4]")
  12.     arr(m, 1) = Mid(rs.Fields(0), 6, 20) & rs.Fields(4)
  13.     Set rs = cnn.Execute("[1$C5:C5]")
  14.     arr(m, 2) = rs.Fields(0)
  15.     Set rs = cnn.Execute("[1$B12:K12]")
  16.     arr(m, 3) = rs.Fields(1)
  17.     arr(m, 4) = rs.Fields(0)
  18.     arr(m, 8) = rs.Fields(2)
  19.     arr(m, 9) = rs.Fields(9)
  20.   End If
  21.   Next
  22.   ActiveSheet.UsedRange.Offset(3).ClearContents
  23.   If m > 0 Then [a4].Resize(m, 12) = arr
  24.   rs.Close
  25.   cnn.Close
  26.   Set rs = Nothing
  27.   Set cnn = Nothing
  28.   Set Fso = Nothing
  29.   MsgBox Timer - t
  30. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-11 04:18 , Processed in 0.017596 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表