如何通过VBA将数据从文本文件传输到Excel中的特定单元格?
我有一个代码,它将数据从文本文件传输到Excel工作表的C列。 下面是一段代码片段如何通过VBA将数据从文本文件传输到Excel中的特定单元格?,excel,vba,Excel,Vba,我有一个代码,它将数据从文本文件传输到Excel工作表的C列。 下面是一段代码片段 Dim my_file As Integer Dim text_line As String Dim file_name As String Dim i As Integer file_name = "C:\Users\" & Environ("Username") & "\Desktop\Test.txt" my_file = FreeFile() Open file_name For In
Dim my_file As Integer
Dim text_line As String
Dim file_name As String
Dim i As Integer
file_name = "C:\Users\" & Environ("Username") & "\Desktop\Test.txt"
my_file = FreeFile()
Open file_name For Input As my_file
i = 1
While Not EOF(my_file)
Line Input #my_file, text_line
Cells(i, "C").Value = text_line
i = i + 1
Wend
但我想把数据传输到C4。
如何调整代码以实现我的目标?- 从某个单元格C4开始,沿着每一行向下拖动整个文件
- 将整个文件写入单个单元格
Test.txt
中获取所有行,并将它们写入第一个工作表的范围(“C4”)
:
Sub TestMe()
Dim myFile As Long
Dim textLine As String
Dim fileName As String
fileName = "C:\Users\" & Environ("Username") & "\Desktop\Test.txt"
myFile = FreeFile()
Open fileName For Input As myFile
Dim writing As String
While Not EOF(myFile)
Line Input #myFile, textLine
writing = writing & vbCrLf & textLine
Wend
Worksheets(1).Cells(4, "C").Value = writing
End Sub
这是通过循环完成的:
While Not EOF(myFile)
Line Input #myFile, textLine
writing = writing & vbCrLf & textLine
Wend
它将每一行写入变量
writing
,并在需要时添加新行(VbCrLf
是新行)。在工作表(1)的末尾。单元格(4,“C”)。Value=writing
将文件的文本写入C4
的工作表。嗨,这是完整的代码,编辑了我的文章。为什么i=1
?我不知道这是什么意思。i
用作行号。为什么有i=1
?测试它,您将看到行单元格(i,“C”)的功能。Value=text\u line
。强烈建议您尝试理解代码在做什么。如果有帮助的话,F8
逐步完成代码。几乎可以工作,但我仍然有一个问题。文本文件有多行。这段代码在C4中发布所有内容。我希望在Excel中文本文件中有一行=1行。你知道我的意思吗?
While Not EOF(myFile)
Line Input #myFile, textLine
writing = writing & vbCrLf & textLine
Wend