如何将文本写入Excel表格?

2026-03-16 09:46:00

1、尝试将文本文档改成csv格式。

对于文本文档行数较少(未超过1048576行),可以直接改成csv格式,再使用Excel打开;如果超过了,打开时导入的数据将不全。

如何将文本写入Excel表格?

2、打开Excel表格,按下【Alt+F11】组合键调出VBE编辑器。

如何将文本写入Excel表格?

3、点击【插入】、【模块】。

如何将文本写入Excel表格?

4、在模块代码窗口里边输入以下VBA程序代码。

Sub ReaderTxt()

Dim Fso, Fil, i1, i2, i3, Myway, MyFile

On Error Resume Next  '忽略运行过程中的错误提示

Application.ScreenUpdating = False '关闭工作表更新,提高运行速度

Application.DisplayAlerts = False  '忽略报警提示

Myway = "D:\AAAA\报表数据.txt"   '文本文件路径

MyFile = "D:\AAAA\报表数据.xlsm" '另存为路径

i3 = 0

ThisWorkbook.Worksheets("Sheet1").Name = CStr(i3) '重命名Sheet1

Set mysheet = ThisWorkbook.Worksheets(CStr(i3)) '定义工作表

Set Fso = CreateObject("Scripting.FileSystemObject") '访问系统文件

Set Fil = Fso.OpenTextFile(Myway, 1, 0) '打开文本文件

Do While Not Fil.AtEndOfStream  '如果不是文本末尾,则

 i1 = i1 + 1

 mysheet.Cells(i1, 1) = Fil.ReadLine '将文本的整行写入单元格

 If i1 > 1048576 Then '如果超出工作表行数,则

  i1 = 0

  ThisWorkbook.Sheets.Add After:=Sheets(CStr(i3)) '新建工作表

  i2 = ThisWorkbook.Sheets.Count '工作表数量

  i3 = i3 + 1 '工作表名称递增

  ThisWorkbook.Sheets(i2).Name = CStr(i3) '重命名新建工作表

  Set mysheet = ThisWorkbook.Worksheets(CStr(i3)) '定义工作表

 End If

Loop

ThisWorkbook.SaveAs Filename:=MyFile, _

FileFormat:=xlOpenXMLWorkbookMacroEnabled '另存工作薄

Application.ScreenUpdating = True '恢复工作表更新,提高运行速度

Application.DisplayAlerts = True  '恢复报警提示

End Sub

如何将文本写入Excel表格?

5、检查确认无误后,在VBE编辑器的功能区里边点击“运行”图标运行程序,或者按下【F5】键运行程序。

如何将文本写入Excel表格?

6、待程序运行完成后,将会看到文本文档导入到Excel表格里面的内容。

如何将文本写入Excel表格?

1、VBA程序总结:

1、执行大量的数据时,先忽略一些错误、提示,关闭显示更新,以提高程序的执行速度。

2、CStr是将数值转换成字符串。

3、OpenTextFile语法:OpenTextFile(打开的文档,只读(1)/写入(8),文档不存在时是否创建,打开文件的格式)。

4、AtEndOfStream是最后一行时,其值为True,否则为False。

5、ReadLine表示读取一整行。

如何将文本写入Excel表格?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢