Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2129|回复: 8

[已解决]从网页复制下来的数据,不行分列,请老师帮忙看看有办法吗?

[复制链接]
发表于 2017-7-28 21:10 | 显示全部楼层 |阅读模式
每天都要从网页复现大量相同数据到表格中,但是不能分列.想要得到其中的几个数汇总在一个表中.但是不知道怎么做.
请老师看看有没有 办法.先谢谢了.
最佳答案
2017-7-31 19:07
本帖最后由 chart888 于 2017-7-31 19:21 编辑

是这样吗
网页复制数据.jpg

网页格式.rar

18.89 KB, 下载次数: 9

 楼主| 发表于 2017-7-30 19:42 | 显示全部楼层
自己录了一段宏,可以分列要的四行数据,请老师帮忙执行到每个工作表,另外要的四个数输入到汇总里.
有老师可以帮忙吗?
Sub Macro1()

Range("A10").Select
Selection.TextToColumns Destination:=Range("A10"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(5, 1), Array(53, 1), Array(59, 1), Array(66, 1), _
        Array(70, 1), Array(80, 1), Array(90, 1), Array(100, 1), Array(108, 1), Array(113, 1), _
        Array(121, 1), Array(129, 1), Array(137, 1)), TrailingMinusNumbers:=True

Range("A20").Select
Selection.TextToColumns Destination:=Range("A20"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(13, 1), Array(20, 1), Array(30, 1), Array(41, 1), _
        Array(51, 1), Array(61, 1), Array(71, 1), Array(80, 1), Array(91, 1), Array(100, 1), _
        Array(110, 1), Array(124, 1)), TrailingMinusNumbers:=True
        
Range("A26").Select
Selection.TextToColumns Destination:=Range("A26"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(10, 1), Array(21, 1), Array(30, 1), Array(41, 1), _
        Array(51, 1), Array(61, 1), Array(71, 1), Array(80, 1), Array(91, 1), Array(100, 1), _
        Array(103, 1), Array(116, 1), Array(127, 1), Array(136, 1)), TrailingMinusNumbers:=True
        
Range("A27").Select
Selection.TextToColumns Destination:=Range("A27"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(11, 1), Array(20, 1), Array(31, 1), Array(38, 1), _
        Array(50, 1), Array(60, 1), Array(70, 1), Array(80, 1), Array(84, 1), Array(96, 1), _
        Array(102, 1), Array(114, 1)), TrailingMinusNumbers:=True
End Sub
回复

使用道具 举报

发表于 2017-7-31 09:05 | 显示全部楼层
本帖最后由 chart888 于 2017-7-31 09:17 编辑
  1. Private Sub CommandButton1_Click()
  2. Dim sht As Worksheet
  3. Dim n
  4. n = -1
  5. For Each sht In Worksheets
  6.     If sht.Name <> "汇总表" Then
  7.         With Worksheets("汇总表")
  8.             n = n + 1
  9.             .Cells(4 + n * 8, 5) = sht.Cells(30, 12)
  10.             .Cells(5 + n * 8, 5) = sht.Cells(30, 6)
  11.             .Cells(6 + n * 8, 5) = sht.Cells(30, 9)
  12.             .Cells(7 + n * 8, 5) = sht.Cells(30, 3)
  13.         End With
  14.     End If
  15. Next
  16. End Sub
复制代码

不知道是不是这样

网页格式.zip

14.19 KB, 下载次数: 10

回复

使用道具 举报

发表于 2017-7-31 09:52 | 显示全部楼层
用正则表达式 可以搞定
回复

使用道具 举报

 楼主| 发表于 2017-7-31 10:43 | 显示全部楼层
chart888 发表于 2017-7-31 09:05
不知道是不是这样

谢谢老师的帮助,我上面录制的宏,可以简化吗?只能在一个工作表中使用,我不知道怎么将它应用到每个工作表.
如果能解决我录制的那个宏再加上老师写的,就可以解决问题了.

回复

使用道具 举报

发表于 2017-7-31 13:08 | 显示全部楼层
你直接说你录的宏是干没什么的吧
看着代码头疼
最近没有啥时间上论坛
回复

使用道具 举报

 楼主| 发表于 2017-7-31 17:47 | 显示全部楼层
chart888 发表于 2017-7-31 13:08
你直接说你录的宏是干没什么的吧
看着代码头疼
最近没有啥时间上论坛

辛苦了.我需要的是以下四行中的四个金额.
A10中的退款金额.
A20中的现金金额.
A26中的减价卷金额.
A27中的已计账总计金额.
回复

使用道具 举报

发表于 2017-7-31 19:07 | 显示全部楼层    本楼为最佳答案   
本帖最后由 chart888 于 2017-7-31 19:21 编辑

是这样吗

网页格式.zip

17.37 KB, 下载次数: 3

评分

参与人数 1 +1 收起 理由
falcon9999 + 1 我和小伙伴都惊呆了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-7-31 21:09 | 显示全部楼层

谢谢老师,您的第二段写的太棒了。跟您学习了好多,祝您工作顺利,开心每一天。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 19:35 , Processed in 0.411104 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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