我有一个只有 1 列的常规 Excel 电子表格。我想将其导出到带有分隔符的文本文件。我对分隔列不感兴趣,因为我只有一个。我关心的是使用分隔符而不是换行符导出,以便我的最终结果是一个简单的列表,如“item1”、“item2”、“item3”……等等。item1、item2 和 item3 在我的 Excel 文件中的同一列中的不同行中。是否可以直接从 Excel 执行此操作?我只能得到带有换行符的最终文件。谢谢!
问问题
4766 次
4 回答
1
您将需要使用“VBA”来遍历该列中的单元格并将其内容打印到文件中。
于 2009-10-27T22:06:50.637 回答
1
如果您想快速而不优雅,只需使用右侧的单元格连接分隔符(例如分号)。假设您的数据从 A2 开始,将其放入 B2:
=A1
并将其放入 B3 并填写:
=B2&";"&A3
您想要的文本位于 B 列的底部单元格中。
于 2010-03-02T02:25:00.773 回答
0
您可能希望使用 ADO 和 GetString。
Dim cn As Object
Dim rs As Object
strFile = Workbooks(1).FullName
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open strCon
strSQL = "SELECT F1 FROM [Sheet1$]"
rs.Open strSQL, cn
str = rs.GetString(2,,"|")
于 2009-10-27T23:03:12.593 回答
0
如果您不想要 vba 解决方案并使用 max. 256 行,您可以复制使用过的单元格并将它们转置到 A1 中的不同工作表中。
现在所有值都在一行中,您可以将工作表导出/保存为 *.csv。单元格值将用分号分隔,但不会被引用!您的文本编辑器应该能够替换;
为" ;"
.
VBA 循环是更好的解决方案。
于 2009-10-27T22:41:34.347 回答