代码:
' 新建一个excel文件
Set xToBook = Workbooks.Add
If xFiles.Count > 0 Then
For i = 1 To xFiles.Count
Workbooks.OpenText Filename:=xStrPath & xFiles.Item(i), Origin:=65001
'复制读取的第一列依次到新建excel的列(这行代码运行后,不能复制到新sheet内)
Worksheets(1).Range("A1").End(xlUp).Copy xToBook.Sheets(xToBook.Sheets.Count).Columns(i)
'设置列宽随内容自适应
xToBook.Sheets(xToBook.Sheets.Count).Columns(i).EntireColumn.AutoFit
' 关闭打开的txt转excel文件,false表示no save change
Workbooks(xFiles(i)).Close False
Next
End If
Worksheets(1).Range("A1").End(xlUp) 其实就是A1单元格吧。
整体代码的实现的功能是这个样子吗:1、先新建一个工作簿xToBook;2、依次使用Excel打开指定的文本文件;3、将使用Excel打开的文本文件的A1单元格的值复制到工作簿xToBook的第i列;4、自动调整工作簿xToBook的第i列的列宽;5、关闭Excel打开的文本文件。
我简单建立了3个文本文件,内容分别为1、2、3。按照你提供代码运行时没有提示任何错误,而且结果如下图:
从第1行直至1048576(最大行)都是文本文件的内容。