ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何提取多个txt文件中第2列数据,放在一个excel中

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-4-26 15:58 | 显示全部楼层 |阅读模式
求各位前辈指导,如何提取如下每个txt文件中的第2列数据,形成一个新的excel(共80列),应该怎么加入代码呢?
恳求大神赐教!!!感激。

取出数据.rar

90.89 KB, 下载次数: 36

txt文件

TA的精华主题

TA的得分主题

发表于 2018-4-26 16:23 | 显示全部楼层
本帖最后由 yylucke 于 2018-4-26 16:29 编辑

抱歉回答错了!

Desktop.7z

26.93 KB, 下载次数: 6

TA的精华主题

TA的得分主题

发表于 2018-4-26 18:29 | 显示全部楼层
Sub TXT()
  Application.ScreenUpdating = False
  p = ActiveWorkbook.Path & "/"
  Cells.Clear
  N = 1
  For Each File In CreateObject("Scripting.FilesyStemObject").GetFolder(p).Files
    If File.Name Like "*.txt" Then
      S = CreateObject("Scripting.FileSystemObject").OpenTextFile(p & File.Name, 1, False).ReadAll()
      A = Split(S, vbCrLf)
      Cells(1, N) = File.Name
      For I = 0 To UBound(A) - 1
        Cells(I + 2, N) = Val(Mid(A(I), InStr(A(I), ",") + 1))
      Next
      N = N + 1
    End If
  Next
  Application.ScreenUpdating = True
End Sub

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-26 19:06 | 显示全部楼层
liucf 发表于 2018-4-26 18:29
Sub TXT()
  Application.ScreenUpdating = False
  p = ActiveWorkbook.Path & "/"

谢谢,这个可以用的,是吧

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-26 19:48 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-4-26 21:22 | 显示全部楼层
liucf 发表于 2018-4-26 18:29
Sub TXT()
  Application.ScreenUpdating = False
  p = ActiveWorkbook.Path & "/"

请教老师,如果导入第一行,怎么修改代码?
谢谢

TA的精华主题

TA的得分主题

发表于 2018-4-27 09:52 | 显示全部楼层
本帖最后由 liucf 于 2018-4-27 10:06 编辑
jjmysjg 发表于 2018-4-26 21:22
请教老师,如果导入第一行,怎么修改代码?
谢谢

去掉Cells(1, N) = File.Name
修改:Cells(I +1, N) = Val(Mid(A(I), InStr(A(I), ",") + 1))

TA的精华主题

TA的得分主题

发表于 2018-9-26 11:30 | 显示全部楼层
Sub 第2列() ''
  Application.ScreenUpdating = False
  p = ActiveWorkbook.Path & "/"
  Cells.Clear
  N = 1
  For Each File In CreateObject("Scripting.FilesyStemObject").GetFolder(p).Files
    If File.Name Like "*.txt" Then
      S = CreateObject("Scripting.FileSystemObject").OpenTextFile(p & File.Name, 1, False).ReadAll()
      A = Split(S, vbCrLf)
      Cells(1, N) = File.Name
      For I = 0 To UBound(A) - 1
        Cells(I + 2, N) = Split(A(I), ",")(1)
      Next
      N = N + 1
    End If
  Next
  Application.ScreenUpdating = True
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-16 03:41 , Processed in 0.029376 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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