Excel 请问VBA怎么实现二进制移位实现减法数据的提取

查看: 8065|回复: 45
如何从多个EXCEL文件中提取某指定行数据到一个新的EXCEL文件
阅读权限20
在线时间 小时
本帖最后由 yngodson 于
09:18 编辑
问题:现在这份报表需要由各州市(包括各县区数据)上报至省,然后由省汇总各州市数据。表的结构完全一样,但通过手工复制的模式效率很低,不知道是否可以通过程序的方式来实现。
具体的明天补充。
请看演示表:1张为州市上报表(内有多张表,主要数据为各县区上报的数字和州市级合计数字),另一张省级汇总表,需要提取的是各州市合计数字),请问如何设计?
附件1:测试表
阅读权限100
在线时间 小时
用getobject打开工作簿,读到数组里面就可以随意处理了
阅读权限20
在线时间 小时
附件请见测试+汇总表
09:21 上传
点击文件名下载附件
14.86 KB, 下载次数: 361
阅读权限20
在线时间 小时
十分感谢了。
阅读权限20
在线时间 小时
在线等哈。
阅读权限95
在线时间 小时
yngodson 发表于
在线等哈。
有两个问题:
1、只需汇总州市报表的汇总数,市县数据不需要汇总?
2、各州市报表的文件名是什么?有什么规律?
阅读权限95
在线时间 小时
还有一个问题:
3、各州市报表的Sheet名字都是“一”和“二1”吗?有没有特例?
阅读权限20
在线时间 小时
1、是的,省级汇总的就是州市数,不需要县区数。
2、一般文字名就是***州市**汇总表
阅读权限20
在线时间 小时
十分感谢哈
阅读权限95
在线时间 小时
Sub test()
&&Dim fso As New Scripting.FileSystemObject
&&Dim mybook
&&Dim ws1, ws2 As Worksheet
&&Dim i, j, r, c As Integer
&&Dim myobj As Object
&&Set ws1 = ThisWorkbook.Worksheets(&一&)
&&Set ws2 = ThisWorkbook.Worksheets(&二1&)
&&Set f = fso.GetFolder(ThisWorkbook.Path)
&&For Each mybook In f.Files
& & If mybook.Name && &汇总表.xls& Then
& && &Set myobj = GetObject(ThisWorkbook.Path & &\& & mybook.Name)
& && &With ws1
& && &&&r = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
& && &&&myobj.Worksheets(&一&).Range(&a8:n8&).Copy ws1.Range(&a& & r)
& && &End With
& && &With ws2
& && &&&r = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
& && &&&myobj.Worksheets(&二1&).Range(&a9:q9&).Copy ws2.Range(&a& & r)
& && &End With
& && &myobj.Close False
& & End If
&&Next
&&
End Sub复制代码
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师查看: 283|回复: 4
求助如何提取TXT中数据
阅读权限10
在线时间 小时
我想提取0926.txt 中的数据,并写入到excel的“data”表中,求各位大仙帮助写写代码,
14:31 上传
点击文件名下载附件
30.39 KB, 下载次数: 6
阅读权限90
在线时间 小时
office中有数据导入功能呀,点数据~自文本~再根据提示操作
阅读权限95
在线时间 小时
只有一个文本文件,手工操作也不麻烦,如果真想用代码,给你一段,稍微改一下就能用了:
Sub test()
Dim thispath As String, mytxt As String, s, tm, br(), i&, j&
thispath = ThisWorkbook.Path & &\&
mytxt = Dir(thispath & &*.txt&)
Open thispath & mytxt For Input As #1
tm = Split(StrConv(InputB(LOF(1), #1), vbUnicode), vbCrLf)
For i = 0 To UBound(tm)
& & s = Split(tm(i), &,&)
& & If i = 0 Then ReDim br(UBound(tm), UBound(s))
& & For j = 1 To UBound(s)
& && &&&br(i, j) = s(j)
& & Next j
& & br(i, 0) = &'& & s(0)
Sheet3.[a1].Resize(i, j) = br
阅读权限10
在线时间 小时
只有一个文本文件,手工操作也不麻烦,如果真想用代码,给你一段,稍微改一下就能用了:
Sub test()
多谢多谢,我是小白,我多研究一下!!
阅读权限10
在线时间 小时
office中有数据导入功能呀,点数据~自文本~再根据提示操作
我知道有数据导入的功能,可以用公式解决,其实我就是想练习一下如何用宏解决问题,多谢!
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师}

我要回帖

更多关于 vba 读取二进制文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信