📜  如何在 Excel VBA 中从文本文件中读取数据?

📅  最后修改于: 2022-05-13 01:57:35.111000             🧑  作者: Mango

如何在 Excel VBA 中从文本文件中读取数据?

VBA 程序逐行读取文本文件(销售数据)并放置在工作表上。

文本文件中的销售数据: 5 个字段 [Product、Qtr 1、Qtr 2、Qtr 3 和 Qtr 4] 和 25 条记录(包括标题)

销售数据

VBA 代码将读取文本文件并放置在工作表单元格上,如下所示

VBA代码:

  • 声明变量:
VariablesData TypeComments
lineStringRead text file line by line
FilenameStringInput file name (Full path)
iIntegerIterator
valueArr()Stringsplit 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 文件中的列宽。