gpt4 book ai didi

excel - 将每个 Excel 行写入新的 .txt 文件,并以 ColumnA 作为文件名

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

我将非常感谢任何帮助,因为我刚刚开始考虑编写 Excel 宏。

我有大约 1,500 行和可变列长度(从 16 到 18)的 Excel 文档。我想将文件的每一行写入一个新的 .txt 文件(实际上,我真的很想将其写为 .pdf 但我认为这是不可能的),其中文件的名称是相应的第一列。此外,我希望每一行都用新行分隔。因此,理想情况下,宏将 1) 将每一行导出为新的 .txt 文件(或 .pdf 如果可能),2) 将每个文件命名为 ColumnA,3) 每个新 .txt 文件的内容将包含 ColumnsB 长度总共列 4) 每列由换行符分隔。

例如,如果文档如下所示:

column 1//column 2// column3

a//a1//a2

b//b1//b2

我希望它输出2个文件,分别命名为“a”、“b”。例如,文件“a”的内容为:

a1

a2

我发现另外 2 个堆栈溢出线程解决了我的问题的不同部分,但我不知道如何将它们拼接在一起。

每行到新的 .txt 文件,每列之间有一个换行符(但文件名不是 ColumnA): Create text Files from every row in an Excel spreadsheet

只有一列合并到文件中,但文件名与 ColumnA 相对应: Outputting Excel rows to a series of text files

感谢您的帮助!

最佳答案

要使内容成为 B 列到文件末尾,您可以执行类似的操作。

在 B 列中的单元格上创建一个简单的循环。这定义了每行的列范围,并根据 A 列中的值设置文件名。

Sub LoopOverColumnB()

Dim filePath as String
Dim fileName as String
Dim rowRange as Range
Dim cell as Range

filePath = "C:\Test\" '<--- Modify this for your needs.

For each cell in Range("B1",Range("B1048576").End(xlUp))
Set rowRange = Range(cell.address,Range(cell.address).End(xlToRight))

fileName = filePath & cell.Offset(0,-1).Value

'
' Insert code to write the text file here
'
' you will be able to use the variable "fileName" when exporting the file
Next
End Sub

关于excel - 将每个 Excel 行写入新的 .txt 文件,并以 ColumnA 作为文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15554099/

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