ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何用EXCEL批量处理TXT并将结果自动录入EXCEL

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-12-18 18:07 | 显示全部楼层 |阅读模式
本帖最后由 放眼TOT 于 2012-12-19 12:51 编辑

数据(求助!!!).rar (290.94 KB, 下载次数: 25) 求大侠帮助TAT:
    有大量股票数据,是txt格式的,,我需要先将TXT转成EXCEL(分隔符是TAB、逗号),然后利用里面的数据求出两个量,然后集中填入一个EXCEL文件中。
    本人很菜鸟,琢磨了两天终于知道怎么用宏录制来处理了,但还是要一个个打开TXT再运行宏再把得出的量手动填入EXCEL中,实在工作量太大。一共有2000多*12个文本文件。。。。
       在论坛里搜了很多类似的问题,但都不太明白。。 求助怎么能批量的处理TXT并且能把得出的结果自动录入一个EXCEL文档中(一列为TXT文件名,一列填对应结果)。            万分感激{:soso_e154:}

        希望大神给的代码能稍微说明 一下,比如哪里放我自己录的算我要求的量的代码啊,,

TA的精华主题

TA的得分主题

发表于 2012-12-18 18:41 | 显示全部楼层
给个附件上来,要哪行数据模拟下效果

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-18 22:59 | 显示全部楼层
上传数据的样本了,,,,求助~~~~  {:soso_e200:}

数据(求助!).rar

12.81 KB, 下载次数: 21

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-18 23:57 | 显示全部楼层
这个附件就是原始TXT数据的其中一个,
另一个附件是我自己录制的宏来处理EXCEL达到我要的那两个量的代码,,,
如果我前面表述不清,烦请大神先打开TXT(用TAB逗号分隔)成EXCEL, 然后运行这个宏,就能看到我要得的那个量了。。。
谢谢啊啊啊!!
求助啊啊啊!!           

代码.rar

844 Bytes, 下载次数: 25

SZL1_TAQ_000008_201001.rar

277.83 KB, 下载次数: 21

TA的精华主题

TA的得分主题

发表于 2012-12-19 08:40 | 显示全部楼层

Sub test()

本帖最后由 yangyangzhifeng 于 2012-12-19 10:49 编辑
放眼TOT 发表于 2012-12-18 23:57
这个附件就是原始TXT数据的其中一个,
另一个附件是我自己录制的宏来处理EXCEL达到我要的那两个量的代码, ...


试试看,只计算你要求的字段,没有导入txt
  1. Sub test()
  2.     Dim Arr, k&, ph$, fl$, sp1#, sp2#, brr, i&
  3.     Dim crr(), n&
  4.     ph = ThisWorkbook.Path & ""
  5.     fl = Dir(ph & "*.txt")
  6.     Do While fl <> ""
  7.         Open ph & fl For Input As #1
  8.         Arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
  9.         Reset
  10.         k = UBound(Arr)
  11.         sp1 = 0: sp2 = 0
  12.         For i = 0 To k
  13.             brr = Split(Arr(i), ",")
  14.             sp1 = sp1 + Val(brr(42))
  15.             sp2 = sp2 + Abs(Val(brr(6)) - (Val(brr(24)) + Val(brr(25))) / 2) / Val(brr(6))
  16.         Next
  17.         sp1 = sp1 / (k + 1): sp2 = sp2 / (k + 1)
  18.         n = n + 1
  19.         ReDim Preserve crr(1 To 3, 1 To n)
  20.         crr(1, n) = brr(0)
  21.         crr(2, n) = sp1
  22.         crr(3, n) = sp2
  23.         fl = Dir
  24.     Loop
  25.     Sheet2.Range("a2:c" & Rows.Count).ClearContents
  26.     Sheet2.Range("a2").Resize(n, 3) = Application.Transpose(crr)
  27. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2012-12-19 08:43 | 显示全部楼层
本帖最后由 yangyangzhifeng 于 2012-12-19 10:51 编辑

请见附件,此文件与txt文件放在同一文件夹使用
数据.rar (11.34 KB, 下载次数: 71)

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-19 12:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
yangyangzhifeng 发表于 2012-12-19 08:43
请见附件,此文件与txt文件放在同一文件夹使用

非常谢谢能帮我!!!!
我试了, sp1 = sp1 + Val(brr(42))  它说这个下标越界啊。。。   
我也看不懂代码。。TAT

TA的精华主题

TA的得分主题

发表于 2012-12-19 12:52 | 显示全部楼层
你的实际txt文件和实例txt文件结构不一样吧!

TA的精华主题

TA的得分主题

发表于 2012-12-19 12:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请上传一个实际的txt文件

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-19 13:08 | 显示全部楼层
yangyangzhifeng 发表于 2012-12-19 12:57
请上传一个实际的txt文件

我传到1楼了!麻烦你再下载看一下,        O(∩_∩)O谢谢哈
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-21 22:48 , Processed in 0.037117 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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