Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
123
返回列表 发新帖
楼主: qinshuai8507

[已解决]请教,各位高手我想用vba实现读取多个txt文件数据请问怎么实现?

[复制链接]
发表于 2017-6-30 13:23 | 显示全部楼层
本帖最后由 苏子龙 于 2017-6-30 14:34 编辑

Sub test2() '选择多个txt文件
    Dim arr, rw%, i%
    Dim FiletoOpen, atxt
    On Error Resume Next
    Sheet1.UsedRange.ClearContents
    FiletoOpen = Application.GetOpenFilename(filefilter:="Text Files(*.txt),*.txt", Title:="请选择文件", MultiSelect:=True)
    If Not IsArray(FiletoOpen) Then
        MsgBox "你没有选择文件", vbOKOnly, "提示": Exit Sub
    Else
        For Each atxt In FiletoOpen
            rw = rw + 1
            Open atxt For Input As #1
                arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
            Close #1
            With Sheet1
                   .Cells(rw, 1) = Split(arr(1), ",")(0)
                   .Cells(rw, 2) = Split(arr(6), ",")(2)
                   .Cells(rw, 3) = Split(arr(6), ",")(6)
            End With
        Next
    End If
End Sub
按ctrl多选
回复

使用道具 举报

 楼主| 发表于 2017-6-30 15:15 | 显示全部楼层
苏子龙 发表于 2017-6-30 13:05
Sub test()
Dim arr, rw%, i%, flm$
Dim Fd As FileDialog, ph As String

非常感谢大侠的帮助,我还有个问题需要帮忙下,就是功能是一样的读取文件夹中的excel文件怎么修改呢?需要重新开一贴吗?
回复

使用道具 举报

 楼主| 发表于 2017-9-21 17:53 | 显示全部楼层
苏子龙 发表于 2017-6-30 13:05
Sub test()
Dim arr, rw%, i%, flm$
Dim Fd As FileDialog, ph As String

高手您好,请问这段代码如何修改为读excel表中单元格T5、T7、K7的数据呢,和这个实现的功能一样只不过数据改为读excel,从这段代码修改,麻烦大侠了。
Sub test()
Dim arr, rw%, i%, flm$
Dim Fd As FileDialog, ph As String
On Error Resume Next
  Set Fd = Application.FileDialog(msoFileDialogFolderPicker)
  Fd.Title = "请选择你包含文件的文件夹"
  If Fd.Show = -1 Then
  ph = Fd.SelectedItems(1)
  Else
    Exit Sub
  End If
Sheet1.UsedRange.ClearContents
flm = Dir(ph & "/*.txt")
Do While flm <> ""
    rw = rw + 1
    Open ph & "/" & flm For Input As #1
        arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
    Close #1
    With Sheet1
           .Cells(rw, 1) = Split(arr(1), ",")(0)
           .Cells(rw, 2) = Split(arr(6), ",")(2)
           .Cells(rw, 3) = Split(arr(6), ",")(6)
    End With
    flm = Dir
Loop
End Sub
回复

使用道具 举报

发表于 2017-9-21 21:19 | 显示全部楼层
qinshuai8507 发表于 2017-9-21 17:53
高手您好,请问这段代码如何修改为读excel表中单元格T5、T7、K7的数据呢,和这个实现的功能一样只不过数 ...

重新发帖,写清要求,模拟结果,上传文件
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 18:19 , Processed in 3.459221 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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