如何在 Excel VBA 中从文本文件中读取数据?
VBA 程序逐行读取文本文件(销售数据)并放置在工作表上。
文本文件中的销售数据: 5 个字段 [Product、Qtr 1、Qtr 2、Qtr 3 和 Qtr 4] 和 25 条记录(包括标题)
VBA 代码将读取文本文件并放置在工作表单元格上,如下所示
VBA代码:
- 声明变量:
Variables | Data Type | Comments |
---|---|---|
line | String | Read text file line by line |
Filename | String | Input file name (Full path) |
i | Integer | Iterator |
valueArr() | String | split the sentence by comma and store it in an array variable of type String |
'Variable declarations
Dim line As String, Filename As String, i As Integer, valuesArr() As String
- 使用完整路径和文件名初始化“文件名”变量
'Text file fullPath
Filename = "D:\Excel\ReadTextFile\sales.txt" 'update your full file path
i = 1
- 打开输入文件以读取文本
'Open file
Open Filename For Input As #2
- 逐行读取输入文件
'Read line by line - text file
While Not EOF(2)
Line Input #2, line
- 用逗号分割并将其存储在 valueArr() 中。在我们的示例中,每行有 5 个用逗号连接的值。
'split the line by comma separated, assigned in an array
valuesArr() = Split(line, ",")
- 从 valuesArr() 向各个单元格添加文本。通过索引值读取数组中的每个项目
Cells(i, "A").Value = valuesArr(0)
Cells(i, "B").Value = valuesArr(1)
Cells(i, "C").Value = valuesArr(2)
Cells(i, "D").Value = valuesArr(3)
Cells(i, "E").Value = valuesArr(4)
- 递增计数器 i,移动下一行。
i = i + 1
- 关闭while循环
Wend
- 关闭文件
'Close file
Close #2
方法:
第一步:打开Excel。
第 2 步:将形状(读取文本文件)添加到工作表中。
第 3 步:右键单击“读取文本文件”和“分配宏..”
第 4 步:选择ReadTextFileLineByLine宏
第 5 步:将您的 Excel 文件另存为“启用 Excel 宏的工作簿” *.xlsm
第六步:点击“读取文本文件”
第 7 步:调整 Excel 文件中的列宽。