gpt4 book ai didi

vba - 错误类型不匹配 - 如何根据 A 列工作表 1 中的所有数据创建 .txt 文件

转载 作者:行者123 更新时间:2023-12-03 03:37:33 24 4
gpt4 key购买 nike

我在这行代码上不断收到类型不匹配错误。

stream.WriteLine CellData

完整代码如下

Sub Write_to_File()

Dim FilePath As String
Dim CellData As Variant
Dim LastCol As Long
Dim LastRow As Long


Dim fso As FileSystemObject
Set fso = New FileSystemObject
Dim stream As TextStream




' Create a TextStream.
Set stream = fso.OpenTextFile("C:\...\test_labs.txt", ForWriting, True)

var3 = Worksheets("label").Columns(1)

CellData = ""

CellData = var3
stream.WriteLine CellData

stream.Close
MsgBox ("Done")

End Sub

我正在尝试将工作表 1 中的所有 A 列写入文本文件。该代码是从表 2 中的命令按钮运行的。我对 VBA 还很陌生,因此非常感谢您的帮助。

谢谢

最佳答案

以下方法可行,但我不建议您将整个列转储到文件中,这可能需要一些时间。最好将其限制为非空行,或者也许找到最后使用的单元格并仅输出到该点的内容?

' Create a TextStream.
Set stream = fso.OpenTextFile("K:\test_labs.txt", ForWriting, True)

For Each CellData In Worksheets("label").Columns(1).Cells
stream.WriteLine CellData
Next
stream.Close
MsgBox ("Done")
End Sub

以下部分将查找 A 列中填充的最后一行(将其存储在您已声明的 LastRow 变量中)并在那里停止:

' Create a TextStream.
Set stream = fso.OpenTextFile("K:\test_labs.txt", ForWriting, True)
With Worksheets("label")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For Each CellData In .Range("A1:A" & LastRow).Cells
stream.WriteLine CellData
Next
End With
stream.Close
MsgBox ("Done")
End Sub

仅供引用:您首先收到错误的原因是 stream.WriteLine 需要一个标量 String 输入参数,但是这一行:

var3 = Worksheets("label").Columns(1)

var3 设置为数组。

关于vba - 错误类型不匹配 - 如何根据 A 列工作表 1 中的所有数据创建 .txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43139034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com