You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA生成格式规整的文本文件问题求助

解决方案

先修正你代码里的几个核心错误

  1. 字符串变量不能用Set赋值,直接用=即可
  2. VBA多行拼接字符串必须用**空格+下划线 _**作为续行符,不能直接换行
  3. 代码里存在多余的&符号(比如& vbNewLine前多写了&)

方法1:标准续行符写法(适合少量行)

修正后可以正常运行的代码:

Dim txtString As String
Dim input1 As String
Dim input2 As String
Dim input3 As String

input1 = UserForm1.input1.Value
input2 = UserForm1.input2.Value
input3 = UserForm1.input3.Value

txtString = "Hello " & input1 & vbNewLine _
            & "This is " & input2 & vbNewLine _
            & vbNewLine _
            & "Thanks" & vbNewLine _
            & input3

方法2:数组拼接法(强烈推荐28行的场景)

把每行内容单独放进数组,再用Join一次性拼接,可读性极强,后续修改或新增行也更方便:

Dim txtString As String
Dim txtLines As Variant
Dim input1 As String, input2 As String, input3 As String

input1 = UserForm1.input1.Value
input2 = UserForm1.input2.Value
input3 = UserForm1.input3.Value

' 按顺序填入每行内容,空行就写空字符串
txtLines = Array( _
    "Hello " & input1, _
    "This is " & input2, _
    "", _
    "Thanks", _
    input3 _
    ' 28行的话继续在这里追加元素即可
)

' 用vbNewLine把数组所有行连接成完整字符串
txtString = Join(txtLines, vbNewLine)

补充说明

如果需要兼容不同系统换行格式,也可以用vbCrLf代替vbNewLine,两种写法逻辑完全一致。

内容的提问来源于stack exchange,提问作者Turner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 16:18:15