ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

关于提取不规范表格中相关数据的求助

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-7-14 10:24 | 显示全部楼层 |阅读模式
附件表是软件中导出来的,有上百张类似的表需要处理,如果一一去整理会相当的抓狂啊!这种情况估计通常的函数、技巧都无法使用吧,不知道VBA是否能够解决?

先谢谢各位查看表格,如有提示、建议、或者方案,都将非常感激!

提取定额人工费数据.rar (47.66 KB, 下载次数: 25)

TA的精华主题

TA的得分主题

发表于 2014-7-14 11:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
表格太多,当然用VBA批量自动处理为最快,虽然用技巧也可以解决,仅几个步骤:
1、全表取消合并单元格,
2、选中A5,按Shift+Ctrl+Enter键,执行“自动筛选”,
3、筛选出“项目特征描述”为空的,整行删除;再筛选出A列为“序号”的,整行删除;
4、现在已经得到完整、而且规范的定额表格了,可以根据情况删除不需要的列,比如仅保留编码和定额人工费这两列。

TA的精华主题

TA的得分主题

发表于 2014-7-14 11:23 | 显示全部楼层
单表处理的VBA代码(整理成规范的定额清单,且每条定额的各项内容都完整保留):
  1. Sub 人工费()
  2. With Me.UsedRange.Offset(5, 0)
  3.     .UnMerge
  4.     arr = .Value
  5.     .Clear
  6.     r = UBound(arr): c = UBound(arr, 2)
  7.     ReDim brr(1 To r, 1 To c)
  8.     For i = 1 To r
  9.         If Len(arr(i, 5)) > 0 And arr(i, 1) <> "序号" Then
  10.             p = p + 1
  11.             For j = 1 To c
  12.                 brr(p, j) = arr(i, j)
  13.             Next
  14.         End If
  15.     Next
  16.     .Value = brr
  17.     .EntireColumn.AutoFit
  18.     .EntireRow.AutoFit
  19. End With
  20. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2014-7-15 08:26 | 显示全部楼层
通过VBA是可以实现,但是如果以后还有类似这样的问题,还要写VBA,很麻烦,建议找IT人员或软件供应商写一条SQL就行了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-7-16 13:21 | 显示全部楼层
cbtaja 发表于 2014-7-14 11:20
表格太多,当然用VBA批量自动处理为最快,虽然用技巧也可以解决,仅几个步骤:
1、全表取消合并单元格,
...

Hi 你好,谢谢你的热心回复!我想照您的方法操作试试,但第一步就遇到点麻烦,还请你再指点一下。
全表取消合并,是全选表格,然后点合并按键吗?这里会弹出以下窗口,如果要继续取消合并,需要不停地点OK,否则就只能取消了。
QQ图片20140716131653.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-7-16 13:24 | 显示全部楼层
zingy_king 发表于 2014-7-15 08:26
通过VBA是可以实现,但是如果以后还有类似这样的问题,还要写VBA,很麻烦,建议找IT人员或软件供应商写一条 ...

嗯谢谢你的热心回复!我也觉得改进软件的导出功能才是根本性解决的办法。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-7-16 13:42 | 显示全部楼层
cbtaja 发表于 2014-7-14 11:23
单表处理的VBA代码(整理成规范的定额清单,且每条定额的各项内容都完整保留):

感谢您的热心回复!
我把代码拷进去了但运行出问题了,很不好意思的我不懂VBA,所以能否请你再帮忙看看:
QQ图片20140716131653.jpg

TA的精华主题

TA的得分主题

发表于 2014-7-16 14:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
rongr8266 发表于 2014-7-16 13:42
感谢您的热心回复!
我把代码拷进去了但运行出问题了,很不好意思的我不懂VBA,所以能否请你再帮忙看看: ...

需要把代码放在工作表的模块里。见附件。启用宏,点击按钮运行即可。

提取定额人工费数据.rar (53.36 KB, 下载次数: 11)

TA的精华主题

TA的得分主题

发表于 2014-7-16 14:48 | 显示全部楼层
上面的方法只是删除了多余的行。如果需要删除多余的列,或者想批量处理(条件是把所有待提取的文件集中放到同一个文件夹里),请具体说明。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-26 16:06 , Processed in 0.047945 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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