如何从多个txt文件中复制粘贴表格到1个excel表格中?

5uzkadbs  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(278)

我需要执行的步骤:
1.在Excel中打开所有必要的文件(来自同一文件夹)
1.对于第一个文件,从第6行复制到表格底部。对于第二个及后续文件,从第7行复制到表格底部(注意,每个文件的表格行数不同)。(原因是第1-5行无关,第6行有标题,我只希望标题在表格中出现一次)
1.粘贴到主Excel工作表中,但不与前面的行重叠
1.用逗号分隔主Excel工作表(文本到列)
1.关闭除主excel工作表以外的所有文件
尝试谷歌的各个步骤,但每一步的代码不工作,以及与另一个,导致无数的错误,所以我放弃了,并试图记录宏,但我没有得到一个“for”循环。

yizd12fk

yizd12fk1#

我刚刚测试了下面的代码

Sub Read_Texts()

'Variable Declaration
Dim sFilePath As String
Dim sFileName As String

'Specify File Path
sFilePath = "C:\Users\use\Desktop\New folder"

'Check for back slash
If Right(sFilePath, 1) <> "\" Then
    sFilePath = sFilePath & "\"
End If
    
sFileName = Dir(sFilePath & "*.txt")

Do While Len(sFileName) > 0
    If Right(sFileName, 3) = "txt" Then
        'Display file name in immediate window
        Dim hf As Integer: hf = FreeFile
        Dim lines() As String, i As Long
       
        Open sFileName For Input As #hf
            lines = Split(Input$(LOF(hf), #hf), vbNewLine)
        Close #hf
        
        If sFileName = "file1.txt" Then
            For i = 5 To UBound(lines)
                Debug.Print "File 1 Line"; i; "="; lines(i)
            Next
            Else
                For i = 6 To UBound(lines)
                    Debug.Print "File 1 Line"; i; "="; lines(i)
                Next
            End If
        End If
        'Set the fileName to the next available file
        sFileName = Dir
    Loop

End Sub

根据您的文件夹路径更改C:\Users\use\Desktop\New folder,在这里您可以对返回的行Debug.Print "File 1 Line"; i; "="; lines(i)执行任何操作

相关问题