试试改成
Dim str As String = rng.text
str = str.replace(vbcrlf, chr(10)).replace(chr(10), vbcrlf)
如果还有问题,加上下面代码看生成的换行符号是什么
Dim str As String = rng.textFor Each s As String In str output.show(s & " " & Asc(s))Next