VBA仅将第一行复制到文本文件

VBA copies only first row to text file

提问人:erukumk 提问时间:10/19/2023 更新时间:10/19/2023 访问量:28

问:

我希望将非空白列数据复制到文本文件中,虽然复制成功,但 vba 的粘贴部分仅将第一行复制到文本文件。以下是问题

1.虽然整个列的复制是成功的,但复制也有一些空白单元格(但有公式),excel也复制了这些单元格。我想忽略只有公式的单元格。
2.粘贴部分代码,仅粘贴复制列的第一行

Sub Addtotext() 'Adds stocks to stockslist for python
Dim strPath As String
Dim strName As String
Dim FSO As Object
Dim oFile As Object
Dim c As Range

With Range("J2", Range("J" & Rows.Count).End(xlUp)).Copy
End With

strName = "a.txt"
strPath = "C:\Volume\PythonProjects"

Set FSO = CreateObject("Scripting.FileSystemObject")


Set oFile = FSO.CreateTextFile(strPath & strName)

For Each c In Selection
    oFile.Write c.Value & " "
Next c

oFile.Close
End Sub
EXCEL VBA7 VBA6

评论

0赞 topsail 10/19/2023
您的代码似乎没有执行甚至尝试执行您所描述的所有操作。
0赞 topsail 10/19/2023
旁白。。。另外,有趣的是,VBA6 和 VBA7 标签都说它们与 VBA6 或 VBA7 无关......
0赞 erukumk 10/19/2023
@topsail不是一个编程人员,而是跟着提示。此查询与建议 VBA 宏有什么关系?此外,复制部分按预期工作,我已通过手动粘贴进行检查。
0赞 topsail 10/20/2023
好吧,知道 AI 在编写代码方面仍然如此糟糕是一种解脱——尽管如果你更好地解释你想要什么,它可能会给你一个更好的答案。需要修复的明显部分是忽略空白行和公式(显而易见的答案是至少尝试做一些事情来忽略空白行和公式)。
0赞 Notus_Panda 10/20/2023
您可以按照自己的意愿创建工作表,然后将其另存为 txt,而不是创建文本文件并添加到其中。

答: 暂无答案