Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过VBA将数据从文本文件传输到Excel中的特定单元格?_Excel_Vba - Fatal编程技术网

如何通过VBA将数据从文本文件传输到Excel中的特定单元格?

如何通过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

我有一个代码,它将数据从文本文件传输到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 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