Excel VBA 如何把单元格中的多行文字输出到txt中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel VBA 如何把单元格中的多行文字输出到txt中相关的知识,希望对你有一定的参考价值。

比如Excel某一个单元格A1里面的文字用Alt-Enter分成了3行:
AAAA
BBBB
CCCC

用VBA把它输出到TXT文件里后变成了一行AAAABBBBCCCC
用函数Replace(Str,Chr(13),Chr(10))替换无效。
谢谢高手们踊跃回答,望审清题。
AAAA
BBBB
CCCC
以上内容原本就在一个单元格里,用VBA输出到TXT里的文字后,用记事本看是AAAABBBBCCCC
现在希望输出到TXT文件里仍然保持多行。

楼主,多行变成一行,这个功能不必用函数实现,用Excel的区域转换就可以实现

操作如下:

1。选中AAAA,BBBB,CCCC所在的三行,
2。拉宽列宽至可以装下 AAAABBBBCCCC的宽度.
3。选编辑菜单-->填充-->内容重排
4。此时三行内容就合并成一行了,不同的是内容间多了一个空格,用查找替换功能将空格替成没有就完成了

如果一定要在VBA中实现,也不用函数直接用 文本连接符 "&" 就好.

如: Cells(1,1) & Cells(2,1) & Cells(3,1)

如果以上回答还不能满足您要求,Hi我, 我们来讨论一下.

-----------------------------------------------------------------------------------
的确看错,再来回答此题.

如果您单行文本中有换行符的话,这个换行符在Excel上是隐藏的,但是虽然是隐藏的也是可以用查找替换将之替掉的. 方法如下:

查找 Alt+10 换成为的地方不输入(即换成什么都没有,就是删除), 确定即可

需要注意的是,Alt+10就是那个隐性的换行符,它的输入需要注意,是按住Alt不放,再按1 和0 , 且这个1和0 一定是小写数字键盘上的
参考技术A 楼上的看错了吧.人家的数据是在一个单元格里的...
Cells(1,1) & Cells(2,1) & Cells(3,1) 这么连..离题了

我试了下用这个可以
str = Replace(str, Chr(10), "")

Sub Macro1()

Dim str As String
str = Range("A1").Value
str = Replace(str, Chr(10), "")
MsgBox str
End Sub本回答被提问者采纳

以上是关于Excel VBA 如何把单元格中的多行文字输出到txt中的主要内容,如果未能解决你的问题,请参考以下文章

用excel中的VBA,然后根据excel中单元格中内容,批量替换一个word的模板doc中的字符。字符有很多处。

从excel vba的列中的所有单元格中删除不需要的字符

vba excel 去掉单元格中隐藏着的双引号或单引号 (多列含有,希望得到一次性清楚)

如何用java向指定的EXCEL单元格中写入数据?

VBA宏在Excel中格式化1个包含文本行的单元格,并将这些行添加到单独的行中

如何让excel单元格中的内容全部显示出来